AD-Wandler mcp3008 mit Simulink lesen

  • [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Hallo zusammen, [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]ich hoffe hier kann mir jemand weiterhelfen, da ich aktuell ziemlich verzweifelt bin und nicht mehr weiter weiß. [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Im muss im Rahmen eines Projektes eine Analogspannung auswerten. [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Die verwendete Hardware: [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Raspberry Pi 3 [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]AD-Wandler 3008 [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Matlabversion:R2016b[/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Meine Internetsuche ist mittlerweile an ihre Grenzen gestoßen aber ich finde einfach keinen Weg das ganze zum laufen zu bringen. [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]der AD-Wandler ist wie in der Anleitung angeschlossen: [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]http://de.mathworks.com/help/suppor.....alog-input-using-spi.html[/font][font="Verdana, Geneva, Arial, Helvetica, sans-serif"] [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Nun wollte ich das ganze mit Hilfe dieser Driver-Blöcke zum laufen bringen: [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]http://de.mathworks.com/matlabcentr.....driver-blocks-adc-dac-pwm[/font][font="Verdana, Geneva, Arial, Helvetica, sans-serif"] [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]wiringPi habe ich nach dieser Anleitung auf den Pi gespielt: [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]http://wiringpi.com/download-and-install/[/font][font="Verdana, Geneva, Arial, Helvetica, sans-serif"] [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Wenn ich jedoch all diese Schritte befolge bekomme ich immer eine Fehlermeldung, sobald ich auf "Deploy to Hardware" klicke. [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Die Fehlermeldung ist folgende: [/font]



    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Generating code into build folder: C:\Users\Valerio\Documents\MATLAB\AD_Wandler_test\rpi_driver_blocks_ert_rtw [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Invoking Target Language Compiler on rpi_driver_blocks.rtw [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Using System Target File: C:\Program Files\MATLAB\R2016b\rtw\c\ert\ert.tlc [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Loading TLC function libraries [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]...... [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Initial pass through model to cache user defined code [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]. [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Caching model source code [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"].......................... [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing header file rpi_driver_blocks.h [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing header file rpi_driver_blocks_types.h [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]. [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing header file rtwtypes.h [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing header file multiword_types.h [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing source file rpi_driver_blocks.cpp [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing header file rpi_driver_blocks_private.h [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing source file rpi_driver_blocks_data.cpp [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]. [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing header file rtmodel.h [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Writing source file ert_main.cpp [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### TLC code generation complete. [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Generating TLC interface API. [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]... [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Creating data type transition file rpi_driver_blocks_dt.h [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Evaluating PostCodeGenCommand specified in the model [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Using toolchain: GNU GCC Raspberry Pi v1.0 | gmake (64-bit Windows) [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### 'C:\Users\Valerio\Documents\MATLAB\AD_Wandler_test\rpi_driver_blocks_ert_rtw\rpi_driver_blocks.mk' is up to date [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Building 'rpi_driver_blocks': make -f rpi_driver_blocks.mk all [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Build procedure for model: 'rpi_driver_blocks' aborted due to an error. [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Error executing command "touch -c /home/pi/rpi_driver_blocks_ert_rtw/*.*;make -f rpi_driver_blocks.mk all -C /home/pi/rpi_driver_blocks_ert_rtw". Details: [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]STDERR: cc1: warning: command line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]cc1: warning: command line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]cc1: warning: command line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]cc1: warning: command line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]cc1: warning: command line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]cc1: warning: command line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]In file included from linuxinitialize.cpp:8:0: [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]linuxinitialize.h:4:0: warning: "_GNU_SOURCE" redefined [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]#define _GNU_SOURCE [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]^ [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]<command-line>:0:0: note: this is the location of the previous definition [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]In file included from ert_main.cpp:27:0: [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]linuxinitialize.h:4:0: warning: "_GNU_SOURCE" redefined [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]#define _GNU_SOURCE [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]^ [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]<command-line>:0:0: note: this is the location of the previous definition [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]sfcn_MCP3008_Out_wrapper.cpp.o: In function `sfcn_MCP3008_Out_Outputs_wrapper(unsigned short*, double const*, unsigned char const*, int)': [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]sfcn_MCP3008_Out_wrapper.cpp:(.text+0x24): undefined reference to `analogRead' [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]sfcn_MCP3008_Out_wrapper.cpp.o: In function `sfcn_MCP3008_Out_Update_wrapper(unsigned short*, double*, unsigned char const*, int)': [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]sfcn_MCP3008_Out_wrapper.cpp:(.text+0x58): undefined reference to `wiringPiSetup' [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]sfcn_MCP3008_Out_wrapper.cpp:(.text+0x64): undefined reference to `mcp3004Setup' [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]collect2: error: ld returned 1 exit status [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]make: *** [../rpi_driver_blocks.elf] Error 1 [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]STDOUT: make: Entering directory '/home/pi/rpi_driver_blocks_ert_rtw' [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]g++ -c -MMD -MP -MF"rpi_driver_blocks.cpp.dep" -MT"rpi_driver_blocks.cpp.o" -O2 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "rpi_driver_blocks.cpp.o" "rpi_driver_blocks.cpp" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]g++ -c -MMD -MP -MF"rpi_driver_blocks_data.cpp.dep" -MT"rpi_driver_blocks_data.cpp.o" -O2 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "rpi_driver_blocks_data.cpp.o" "rpi_driver_blocks_data.cpp" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]gcc -c -MMD -MP -MF"ext_svr.c.dep" -MT"ext_svr.c.o" -O0 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "ext_svr.c.o" "ext_svr.c" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]gcc -c -MMD -MP -MF"updown.c.dep" -MT"updown.c.o" -O0 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "updown.c.o" "updown.c" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]gcc -c -MMD -MP -MF"ext_work.c.dep" -MT"ext_work.c.o" -O0 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "ext_work.c.o" "ext_work.c" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]gcc -c -MMD -MP -MF"rtiostream_utils.c.dep" -MT"rtiostream_utils.c.o" -O0 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "rtiostream_utils.c.o" "rtiostream_utils.c" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]g++ -c -MMD -MP -MF"sfcn_MCP3008_Out_wrapper.cpp.dep" -MT"sfcn_MCP3008_Out_wrapper.cpp.o" -O2 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "sfcn_MCP3008_Out_wrapper.cpp.o" "sfcn_MCP3008_Out_wrapper.cpp" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]gcc -c -MMD -MP -MF"rtiostream_interface.c.dep" -MT"rtiostream_interface.c.o" -O0 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "rtiostream_interface.c.o" "rtiostream_interface.c" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]gcc -c -MMD -MP -MF"rtiostream_tcpip.c.dep" -MT"rtiostream_tcpip.c.o" -O0 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "rtiostream_tcpip.c.o" "rtiostream_tcpip.c" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]g++ -c -MMD -MP -MF"linuxinitialize.cpp.dep" -MT"linuxinitialize.cpp.o" -O2 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "linuxinitialize.cpp.o" "linuxinitialize.cpp" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]g++ -c -MMD -MP -MF"ert_main.cpp.dep" -MT"ert_main.cpp.o" -O2 -fpermissive -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DON_TARGET_WAIT_FOR_START=1 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DONESTEPFCN=1 -DEXT_MODE=1 -DTERMFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTID01EQ=0 -DON_TARGET_WAIT_FOR_START=1 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DRT -DSTACK_SIZE=64 -DMODEL=rpi_driver_blocks -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -I./ -o "ert_main.cpp.o" "ert_main.cpp" [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]echo "### Creating standalone executable "../rpi_driver_blocks.elf" ..." [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]### Creating standalone executable ../rpi_driver_blocks.elf ... [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]g++ -lrt -lpthread -ldl -o ../rpi_driver_blocks.elf rpi_driver_blocks.cpp.o rpi_driver_blocks_data.cpp.o ext_svr.c.o updown.c.o ext_work.c.o rtiostream_utils.c.o sfcn_MCP3008_Out_wrapper.cpp.o rtiostream_interface.c.o rtiostream_tcpip.c.o linuxinitialize.cpp.o ert_main.cpp.o -lm -lm -lstdc++ [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]rpi_driver_blocks.mk:346: recipe for target '../rpi_driver_blocks.elf' failed [/font]
    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]make: Leaving directory '/home/pi/rpi_driver_blocks_ert_rtw' [/font]



    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Kann mir jemand weiter helfen, hat jemand mit so einem Vorhaben schon mal Erfahrungen gesammelt ? Oder gibt es eine andere Alternative Analogsignale mit Hilfe eines Rasperry Pi und Simulink auszuwerten ? [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Ich bin für jede Hilfe sehr dankbar! [/font]


    [font="Verdana, Geneva, Arial, Helvetica, sans-serif"]Grüße[/font]

  • Hallo Valmano,


    herzlich Willkommen in uinserem Forum!


    Ich würde das Auslesen des A/D-Wandlers über den Raspberry Pi laufen lassen. Dafür gibt es für die gängigen Programmiersprachen brauchbare Code-Beispiele.
    Und die Ergebnisse (Analogspannungen) würde ich dann mit Matlab / Simulink, das ggf. auf einem anderen Rechner läuft, kommunizieren. Dafür gibt es seitens Matlab / Simulink entsprechende Code-Beispiele. Und der Raspberry Pi beherrscht einige der gängigen Schnittstellen. Daher sollte es nicht schwer fallen, etwas zu finden, was beide können.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hab das Setup mit dem MCP3002 am laufen, da ich mit MatLab ein komplettes GertBoard ansteuere und auslese. Laut deinen Fehlermeldungen kann Matlab die wiringPi Funktionen nicht finden, was wahrscheinlich davon kommt, dass du in den Linker-Setting in MatLab noch nicht '-lwiringpi' eingetragen hast.


    Gib in der der MatLab Konsole 'xmakefilesetup' ein, dann öffnet sich ein Fenster, in dem du diverse Sachen einstellen musst. Bin grade nicht an meinem richtigen Rechner, sonst würde ich eben ein Screenshot machen. Als Template müsste da etwas in der Richtung 'Gmake_remotebuild' angewählt sein, dadrunter sollte 'LinuxRemoteBuild' angewählt sein. Es gibt in dem Fenster unten mehrere Reiter, da auf 'Linker' klicken und bei den Argumenten am Ende '-lwiringpi' einfügen. Danach sollten , wenn keine anderen Fehler in dem Code vorliegen, die Blöcke gebaut werden.


    // Edit: Wenn du Hardware PWM des Raspberry Pis verwenden möchtest, muss in den Linker-Settings auch noch '-lpthread' eingetragen werden.

  • Vielen Dank erst mal für die schnellen Antworten.


    Ich hätte vielleicht noch dazu erwähnen sollen, dass die Programmierung mit Simulink sowie der Pi vorgeschrieben ist durch die Aufgabenstellung. Das ganze also mit einer eineren Programmiersprache zu lösen geht in meinem Fall leider nicht. Die Alternative wäre, sollte ich es nicht zum laufen bringen, ein Arduino als Schnittstelle dazwischen zu hängen und den ebenfalls mit Simulink zu programmiern.


    driftmonster, dass hört sich doch schonmal gut an, wenn es hier jemand gibt der so eine Aufgabenstellung schon zum laufen gebracht hat :)


    Wollte auch eben direkt mal deine Lösungsansätze umsetzen, bekomme aber immer eine Fehlermeldung wenn ich "xmakefilesetup" in die Konsole tippe. Folgende Meldung erscheint dann:


    >> xmakefilesetup
    Struct contents reference from a non-struct array
    object.


    Error in xmakefile.Setup


    Error in xmakefilesetup (line 11)
    hObj = xmakefile.Setup;


    Hab mittlerweile sogar eine Neuinstallation von Matlab versucht, aber das Hilft leider auch nicht -.-

  • Ich habe mir eigene Level 2 S-Functions in C geschrieben, ich nutze version 2015b, 2016a habe ich erfolgreich getestet. Da du 2016b nutzt kann ich keine Aussage dazu machen, ob das da immernoch so funktioniert. Installiere zur Sicherheit MinGW nach, das hat bei mir auch einige Fehler ausgeräumt. Falls das nichts bringt, kannst du auch mal versuchen die Support Packages für den Raspberry Pi separat neu zu installieren.


    Wenn all das nichts bringt, musst du dich tiefer einlesen, die Doku/Hilfe gibt bestimmt was her. Oder du nimmst ne ältere Version.

  • Vielleicht mach das Matlab2016b ja wirklich Probleme, zumindest wäre das erfahrungsgemäß nichts neues wenn Dateien, welche mit einer Version erstellt wurden, unter einer anderen Version Probleme verursachen -.-


    Ich lade aktuell 2016a runter und versuche dann unter dieser Version alles nochmal inkl. deinen Tipps. Auf 2015b kann ich ja wegen dem Pi3 Support leider nicht zurück gehen?!


    Wäre es den möglich von dir diese S-Functions zu erhalten ?

  • Hi,


    'xmakefilesetup' sieht bei mir so aus:


    Wichtig sind in 2016a die markierten Pfade ('2015b' muss bei dir '2016a' sein).


    Außerdem verwende ich nicht 'ert.tlc', sondern 'realtime.tlc'. Das kannst du in den Modell-Parametern -> Code Generation ändern.


    Meine Dateien darf ich nicht herausgeben, da diese für die Arbeit entstanden sind.

  • Also eine Neuinstallation der Version 2016a hat leider keine Verbesserung gebracht. Ich bekomme immer noch den selben Fehler wenn ich "xmakefilesetup" in die Konsole eingebe. Wenn ich nicht mal das aufrufen kann, weiß ich leider nicht wie ich diese Einstellungen überprüfen soll :/


    Ok, schade, dass kann ich aber verstehen das du die Dateien nicht herausgeben darfst. Ich vermute mal, der Punkt das ich diese Arbeit in Rahmen einer Projektarbeit an der Hochschule mache und das ganze somit keinem kommerziellen Zweck dient, ändert daran nichts ? ^^

  • Hi,


    Nein, ich werde dir die Dateien trotzdem nicht zur Verfügung stellen. Ich habe dir ja meiner Meinung ja hilfreiche Tipps gegeben, aber wenn du nichtmal weiterführend bei Google suchst und alles vorgekaut haben möchtest, sehe ich das nicht ein. Zudem sollte man bei einer Projektarbeit den Anreiz haben die Sachen selbst zum laufen zu bekommen und nicht aufgeben, wenn man nicht mal die Entwicklungsumgebung ans laufen bekommt.

  • Wie bereits gesagt, hab ich da vollste Verständnis dafür und die S-Functions würden mir aktuell eh nichts bringen, da ich das ja nicht zum laufen bringe. Zumindest den Teil mit dem MCP3008. Das Projekt besteht ja nicht nur aus der Auswertung dieser Analogspannung. Die restliche Signalverarbeitung habe ich soweit gut hinbekommen. Es hängt wie gesagt nur an diesem MCP3008 -.-


    Da geb ich dir vollkommen Recht, dieser Anreiz ist auch definitiv da, wenn man aber seit Tagen das Internet durchsucht wegen dem dem einen kleinen selben Problem und keine passende Lösung findet, lässt dieser Anreiz mit der Zeit nach ?! Vielleicht als Randnotiz, im Maschinenbaubereich hat man mit Programmierung in den unterschiedlichsten Sprachen halt leider nichts zu tun, deswegen tu ich mir damit auch wohl etwas schwerer als andere und deshalb hab ich gehofft hier ein wenig Hilfe/Unterstützung zu bekommen. Will sicherlich nichts vorgekaut bekommen ... Es ist aber ein Unterschied ob man Programmierer ist oder eigentlich nur ein Anwender einer Software ohne den Background dieser Software bis ins kleinste Detail zu verstehen!

    Deine Tipps waren auf jeden Fall hilfreich und dafür bin ich dir auch Dankbar!


  • Wie bereits gesagt, hab ich da vollste Verständnis dafür und die S-Functions würden mir aktuell eh nichts bringen, da ich das ja nicht zum laufen bringe. Zumindest den Teil mit dem MCP3008. Das Projekt besteht ja nicht nur aus der Auswertung dieser Analogspannung. Die restliche Signalverarbeitung habe ich soweit gut hinbekommen. Es hängt wie gesagt nur an diesem MCP3008 -.-


    Da geb ich dir vollkommen Recht, dieser Anreiz ist auch definitiv da, wenn man aber seit Tagen das Internet durchsucht wegen dem dem einen kleinen selben Problem und keine passende Lösung findet, lässt dieser Anreiz mit der Zeit nach ?! Vielleicht als Randnotiz, im Maschinenbaubereich hat man mit Programmierung in den unterschiedlichsten Sprachen halt leider nichts zu tun, deswegen tu ich mir damit auch wohl etwas schwerer als andere und deshalb hab ich gehofft hier ein wenig Hilfe/Unterstützung zu bekommen. Will sicherlich nichts vorgekaut bekommen ... Es ist aber ein Unterschied ob man Programmierer ist oder eigentlich nur ein Anwender einer Software ohne den Background dieser Software bis ins kleinste Detail zu verstehen!

    Deine Tipps waren auf jeden Fall hilfreich und dafür bin ich dir auch Dankbar!


    Hi,


    Ich bin auch noch Student und kein Programmierer, da muss man sich halt mal ein paar Tage einlesen, um zu verstehen, wie Matlab in Verbindung mit externen Hardware zusammenarbeitet. Es gibt eine umfangreiche Dokumentation, größtenteils sogar mit Beispielen (Level 2 S-function z.B.). Wie wäre es denn, wenn du die über das Support Package installierten Bausteine aus der Bibliothek in Simulink testest um festzustellen, ob die Kommunikation überhaupt klappt?


    Gesendet von meinem SM-G901F mit Tapatalk