Michal Sojka [Sun, 8 Sep 2019 21:02:45 +0000 (23:02 +0200)]
Rename rtiostream_serial.c to rtiostream_serial_rpp.c
The reason is that the makefile (.tmf) tried to compile
<MATLAB>/rtw/c/src/rtiostream/rtiostreamserial/rtiostream_serial.c
instead of rtiostream_serial.c from our rpp directory and it fails. By
renaming the file Makefile finds only our file.
Jakub Nejedlý [Wed, 28 Aug 2019 07:29:34 +0000 (09:29 +0200)]
Initialization of extmode moved from main to extmode thread
Function rtParseArgsForExtMode() call LwIP thread when opening
TCP/IP connection. That causes fault if is initialization called
before starting scheduler. Problem is solved by moving initialization
of communication to extmode thread.
Jakub [Wed, 28 Aug 2019 08:52:38 +0000 (10:52 +0200)]
Add TCP/IP interface for extmode
Support basic communication and reconnecting to target.
Basic communication and reconnecting stress tested.
Implementation inspired from
http://git.savannah.nongnu.org/cgit/lwip/lwip-contrib.git/tree/apps/tcpecho/tcpecho.c
matlabroot/rtw/c/src/rtiostream/rtiostreamtcpip/rtiostream_tcpip.c
Michal Sojka [Sun, 8 Sep 2019 20:00:20 +0000 (22:00 +0200)]
Update rpp-lib and test-sw (Ethernet support)
Submodule rpp/lib 7f10fea..300b193:
> Increase FreeRTOS heap and use it by LwIP
> Increase stack memory of RX and TX thread
> Get rid of "last line of file ends without a newline" warning
> Update LWIP
> Set MDIO initial sequence
> Change RMII comunication to MII
> Makefile.var: Whitespace fixes
> Enable ethernet interrupts for all platforms
> Add content to release
> Static IP configuration
> Touch PIN_ETHRST only on TMS570_RPP
> Enable ehternet for all platform
> Heap change
Submodule doc/test-sw ee9f11e..8514824:
> Add testing tool iperf
> Get rid of compiler warnings (variable was set but never used)
> Add ping function to debug tools
> Change MAC address
> Guard tms570_rpp-specific code with #ifdef
> Enable Ethernet on all boards
> Update rpp-lib
Michal Sojka [Fri, 26 Jul 2019 15:05:33 +0000 (17:05 +0200)]
Update block masks by running rpp_update_doc.m
Note: This was needed for the updated buildbot not to complain about
doc inconsistency. The changes bellow are white-space only and are
probably caused by newer version of the pandoc tool on the ritchie
server.
Changelog:
Processing rpp_aout/Analog Output
Processing rpp_can_rx/CAN Receive
diff --git a/sfunction_canreceive.MaskDescription.old b/sfunction_canreceive.MaskDescription.new
index 3283e26..d1bc5ab 100644
--- a/sfunction_canreceive.MaskDescription.old
+++ b/sfunction_canreceive.MaskDescription.new
@@ -1,6 +1,7 @@
<p>Receive a messages from the CAN bus.</p>
<p>The output can be a uint8, uint16, uint32 number or CAN_MESSAGE object. CAN Unpack block can be used to unpack the data from CAN_MESSAGE object.</p>
<p>A Function-call subsystem is triggered every time when a new message has been received.</p>
<p>When Mixed is selected in the <em>Message type</em>, the block is able to receive both, the mesages with Standard and Extended identifier.<br [-/><strong>NOTE:</strong>-]{+/>+}
{+<strong>NOTE:</strong>+} When Mixed is selected, the <em>Message ID</em> and eventualy the <em>Message ID mask</em> have to be shifted by 18 bits to the left.</p>
<p>If the <em>Message filter</em> is set to Single ID, only the messages with the one identifier specified in <em>Message ID</em> will be accepted by the block. But when ID & mask is selected, all messages with identifier compliant to logical AND of the <em>Message ID</em> and <em>Message ID mask</em> will be accepted.</p>
<p>Uncheck <em>Automatic mailbox number</em>, if user defined mailbox number is needed.</p>
Processing rpp_can_setup/CAN Setup
Processing rpp_can_tx/CAN Transmit
Processing rpp_din_cfg/Digital Input Configure
Processing rpp_din/Digital Input
Processing rpp_dout/Digital Output
Processing rpp_fr_cfg/Configure FlexRay node
Processing rpp_fr_rx/Configure RX buffer
Processing rpp_fr_tx/Configure TX buffer
Processing rpp_gio_in/General Purpose Digital Input
Processing rpp_gio_out/General Purpose Digital Output
Processing rpp_hbr/H-Bridge Control
Processing rpp_ircin/IRC Input
Processing rpp_log/SD-RAM Log Data
diff --git a/sfunction_sdrw.MaskDescription.old b/sfunction_sdrw.MaskDescription.new
index 78b8676..484559b 100644
--- a/sfunction_sdrw.MaskDescription.old
+++ b/sfunction_sdrw.MaskDescription.new
@@ -1,2 +1,4 @@
<p>This block allows to log a double value to the SD-RAM. User needs to provide a valid PrintFormat string to format and register the double value on the log. The PrintFormat string should include two specifiers:<br />
1. For the block ID. Any valid integer specifier.<br />
2. For the value to log. Any valid double specifier.</p>
<p>Note that the value of PrintFormat is inserted raw between quotes on code generation and thus there is no validation on it. Error to provide a valid PrintFormat could generate compilation errors or even run-time errors (normally this generates a warning on compile time). Note that the function for logging used is <code>rpp_sdr_printf()</code>, which is a blocking call, and can potentially overrun the step. The ErrFlag will set if <code>rpp_sdr_printf()</code> returns an error (for example out of memory), but will clear back if the next step the call to this function is successful.</p>
diff --git a/sfunction_sdrw.MaskHelp.old b/sfunction_sdrw.MaskHelp.new
index 78b8676..484559b 100644
--- a/sfunction_sdrw.MaskHelp.old
+++ b/sfunction_sdrw.MaskHelp.new
@@ -1,2 +1,4 @@
<p>This block allows to log a double value to the SD-RAM. User needs to provide a valid PrintFormat string to format and register the double value on the log. The PrintFormat string should include two specifiers:<br />
1. For the block ID. Any valid integer specifier.<br />
2. For the value to log. Any valid double specifier.</p>
<p>Note that the value of PrintFormat is inserted raw between quotes on code generation and thus there is no validation on it. Error to provide a valid PrintFormat could generate compilation errors or even run-time errors (normally this generates a warning on compile time). Note that the function for logging used is <code>rpp_sdr_printf()</code>, which is a blocking call, and can potentially overrun the step. The ErrFlag will set if <code>rpp_sdr_printf()</code> returns an error (for example out of memory), but will clear back if the next step the call to this function is successful.</p>
Michal Sojka [Sun, 4 Oct 2015 20:04:18 +0000 (22:04 +0200)]
gio: Let transform function set pin param to the same value as pin_name
It is better for the user if she sees only the popup with pin names rather
than the edit box. If the pin does not exist in the popup list, block
initialization code takes care of this case.
Michal Sojka [Sun, 4 Oct 2015 07:08:03 +0000 (09:08 +0200)]
Update block masks by running rpp_update_doc.m
Changelog:
Processing rpp_can_rx/CAN Receive
Processing rpp_can_setup/CAN Setup
Processing rpp_can_tx/CAN Transmit
Processing rpp_gio_in/General Purpose Digital Input
diff --git a/sfunction_gio_in.MaskDescription.old b/sfunction_gio_in.MaskDescription.new
index 208dfe5..5be5fdc 100644
--- a/sfunction_gio_in.MaskDescription.old
+++ b/sfunction_gio_in.MaskDescription.new
@@ -1,2 +1,2 @@
<p>Reads[-a-] value from a [-GPIO-]{+GIO+} pin. {+Which pins are supported depends on the target board.+} The [-block supports GIOA, GIOB and NHET1 ports. Any-]{+selected+} pin can be configured as tri-state, pull up or pull down.</p>
[-<p>It is not allowed to read from one-]{+<p>When the+} pin[-by using more then one GIOIN blocks. It-] is [-not allowed to use-]{+used in multiple+} GIOIN [-and DOUT blocks together configured for one GPIO pin.</p>-]{+or GIOOUT blocks, an error is signaled.</p>+}
diff --git a/sfunction_gio_in.MaskHelp.old b/sfunction_gio_in.MaskHelp.new
index 208dfe5..5be5fdc 100644
--- a/sfunction_gio_in.MaskHelp.old
+++ b/sfunction_gio_in.MaskHelp.new
@@ -1,2 +1,2 @@
<p>Reads[-a-] value from a [-GPIO-]{+GIO+} pin. {+Which pins are supported depends on the target board.+} The [-block supports GIOA, GIOB and NHET1 ports. Any-]{+selected+} pin can be configured as tri-state, pull up or pull down.</p>
[-<p>It is not allowed to read from one-]{+<p>When the+} pin[-by using more then one GIOIN blocks. It-] is [-not allowed to use-]{+used in multiple+} GIOIN [-and DOUT blocks together configured for one GPIO pin.</p>-]{+or GIOOUT blocks, an error is signaled.</p>+}
[\bWarning: an error occurred while parsing class fxptui.explorer:
Invalid data type.
]\b
Processing rpp_gio_out/General Purpose Digital Output
diff --git a/sfunction_gio_out.MaskDescription.old b/sfunction_gio_out.MaskDescription.new
index 8c37163..63ee0cb 100644
--- a/sfunction_gio_out.MaskDescription.old
+++ b/sfunction_gio_out.MaskDescription.new
@@ -1,2 +1,2 @@
[-<p>Writes-]{+<p>Sets+} a [-value-]{+GIO pin+} to a [-GPIO pin. The block supports GIOA, GIOB and NHET1 ports.-]{+given value. Which pins are supported depends on the target board.+} Any pin can be configured as open drain or push/pull and initial output value can be specified. The initial value is a value, which will appear on the pin when the GPIO module is initialized and stays there until the first block execution.</p>
[-<p>It is not allowed to write to one-]{+<p>When the+} pin[-by using more then one GIOOUT blocks. It-] is [-not allowed to use-]{+used in multiple GIOIN or+} GIOOUT [-and DIN blocks on one GPIO pin.</p>-]{+blocks, an error is signaled.</p>+}
diff --git a/sfunction_gio_out.MaskHelp.old b/sfunction_gio_out.MaskHelp.new
index 8c37163..63ee0cb 100644
--- a/sfunction_gio_out.MaskHelp.old
+++ b/sfunction_gio_out.MaskHelp.new
@@ -1,2 +1,2 @@
[-<p>Writes-]{+<p>Sets+} a [-value-]{+GIO pin+} to a [-GPIO pin. The block supports GIOA, GIOB and NHET1 ports.-]{+given value. Which pins are supported depends on the target board.+} Any pin can be configured as open drain or push/pull and initial output value can be specified. The initial value is a value, which will appear on the pin when the GPIO module is initialized and stays there until the first block execution.</p>
[-<p>It is not allowed to write to one-]{+<p>When the+} pin[-by using more then one GIOOUT blocks. It-] is [-not allowed to use-]{+used in multiple GIOIN or+} GIOOUT [-and DIN blocks on one GPIO pin.</p>-]{+blocks, an error is signaled.</p>+}
Michal Sojka [Sat, 29 Aug 2015 20:01:22 +0000 (22:01 +0200)]
Fix unified single/multi-tasking main template
- create only one task in single tasking mode
- replace break with continue in overrun handling block
- initialize model from control thread (i.e. after starting scheduler).
Some parts of the library may require this.
Michal Sojka [Thu, 27 Aug 2015 15:21:04 +0000 (17:21 +0200)]
User rpp_mrmain.tlc for both modes, delete rpp_srmain.tlc
The code generated by these two templates is more or less the same, the
only difference is that srmain has hardcoded one worker task, whereas
mrmain can have one or more. Having just one template simplifies testing
so convert everything to it.
Michal Sojka [Tue, 25 Aug 2015 21:39:02 +0000 (23:39 +0200)]
doc/Makefile: Do not configure test-sw if already done.
I have both lib directories bind-mounted to the same directory. Without
this change, I was not able to compile documentation, because cp complained
about copying file to itself.