<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>4D Systems Forum - 4D Systems - Software</title>
		<link>https://forum.4dsystems.com.au/</link>
		<description />
		<language>en</language>
		<lastBuildDate>Mon, 24 Feb 2020 18:58:52 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>images/misc/rss.png</url>
			<title>4D Systems Forum - 4D Systems - Software</title>
			<link>https://forum.4dsystems.com.au/</link>
		</image>
		<item>
			<title>Accessing my controller via the Internet</title>
			<link>https://forum.4dsystems.com.au/node/71281</link>
			<pubDate>Fri, 21 Feb 2020 01:12:59 GMT</pubDate>
			<description>Hi, 
 
I have a garden irrigation project operating on my Arduino Uno with an uLCD-35DT LCD display. 
What is the best way to operate the irrigation...</description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I have a garden irrigation project operating on my Arduino Uno with an uLCD-35DT LCD display.<br />
What is the best way to operate the irrigation system remotely from my smart phone.<br />
Ideally I would like to access the LCD display from my smart phone and operate the display from my smart phone just as if I was standing in<br />
front of the display. I am not sure if this is possible, if it is possible then I'm not sure how to do this.<br />
Can anyone offer any guidance please?<br />
<br />
I have internet access at home and WiFi set up through my home and shed.<br />
<br />
<br />
<br />
<br />
]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/38">Workshop4 - ViSi Environment (Diablo16)</category>
			<dc:creator>RobC</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71281</guid>
		</item>
		<item>
			<title>Launching program from the SD</title>
			<link>https://forum.4dsystems.com.au/node/71272</link>
			<pubDate>Thu, 20 Feb 2020 16:42:09 GMT</pubDate>
			<description><![CDATA[Hi, 
In order to overtake the program size limit for a single program in FLASH, I am willing to store some programs on the SD card. 
The &quot;main...]]></description>
			<content:encoded><![CDATA[Hi,<br />
In order to overtake the program size limit for a single program in FLASH, I am willing to store some programs on the SD card.<br />
The &quot;main program&quot; (stored in the flashbank 0) would just be launcher.<br />
This program will not have any UI. It will simply make a few actions (check for files on the SD card, ...), and launch a 1st &quot;app&quot; from the SD called Menu (.4XE / .4FN).<br />
<br />
Menu will offer the user several buttons to choose which app he wants to use.<br />
Menu will then launch the corresponding app selected by the user, from the SD (4XE or 4FN).<br />
When the user is done with this app, a return button will exit and go back to Menu.<br />
<br />
<img data-attachmentid="71275" data-align="none" data-size="full" border="0" src="filedata/fetch?id=71275&amp;d=1582216749" class="bbcode-attachment thumbnail" alt="Click image for larger version

Name:	apps.PNG
Views:	20
Size:	7.8 KB
ID:	71275" /><br />
<br />
Since the apps are independant for each other, it does not really matter if the context is stored when launching an app.<br />
It is ok for me to re-initialize my Menu app when I return from another app. The most important data will be store in a txt file on the SD, so it's just a matter of reading it.<br />
So, at this point, both file_Run() or file_Exec() seem to do the job.<br />
<br />
<br />
Here is where it gets tricky : all app need to have access to the serial/UART.<br />
How should I process with that ? Can I initialise the UART buffers (RX and TX) in myLauncher, and then access then from any of my apps with some pointers ?<br />
<br />
At the moment, re-init the UART everytime I open an app. Since I need to be able to send/receive big frame, I am using some large buffers as global variables (&gt; 1000 byte).<br />
I tried a few things with file_Exec(), file_Run(), mem_Free() and returns, but after several opening/closing app, the screen crashed because of stack overflow.<br />
I believe that the memory is not completely freed when I return from an app. Therefore, everytime I re-open an app, some more RAM get allocated, until a stack overflow occurs.<br />
<br />
In each of my app code, I have something like this :<br />

	
	
	

<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code" style="height:320;">// Global var
var TXRXbufffer[1000] ;
var RXbuff[1000];

func main()


   COM2_RX_pin(PA10);
   COM2_TX_pin(PA8);
   com2_Reset();
   com_SetBaud(COM2, 39700); // Parameter for the function is Baud/10
   com2_Init(RXbuff, BACKGROUND_SERIAL_COM_BUFFER_SIZE,0);
   com2_TXbuffer(TXRXbufffer,TX_COM_BUFFER_SIZE_ENCODED_FRAME, PA8);


   repeat

      // Some actions
      // Different for each app

      // Check if there is some data
      get_serial_messages();

      foreever
endfunc</pre>
</div>
	
	
	

<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code" style="height:140;">func get_serial_messages()
   var singleData ;

   singleData := serin2();

   if(singleData &gt;= 0)
       // Some processing
   endif

endfunc</pre>
</div>I think I understand the concept of parent and child program, but I haven't been able to find the application note (there are no more filters on the website ?!). Therefore, there are probably some details that I am missing.<br />
<br />
myLauncher is prety basic, and uses Designer<br />
The other program are coded in Visi.<br />
I am using the pro version.]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/37">Workshop4 - Designer Environment (Diablo16)</category>
			<dc:creator>Vincent44</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71272</guid>
		</item>
		<item>
			<title>Winbutton get state of it in MagicCode</title>
			<link>https://forum.4dsystems.com.au/node/71271</link>
			<pubDate>Thu, 20 Feb 2020 14:28:45 GMT</pubDate>
			<description>Hello everyone, 
I have a problem. I have in a small MagicCode part one (if) function. I would know how I can get the value of the state of the...</description>
			<content:encoded><![CDATA[Hello everyone,<br />
I have a problem. I have in a small MagicCode part one (if) function. I would know how I can get the value of the state of the button. I tried to ask with If(Winbutton0 == 1) but that doesen't work. Also it has to be only the state 1 if it was pressed and not if it ist pressed right now. How I can solve that without writhing much code.<br />
Thanks]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/37">Workshop4 - Designer Environment (Diablo16)</category>
			<dc:creator>Simon3000</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71271</guid>
		</item>
		<item>
			<title>Cropping image or masking layer?</title>
			<link>https://forum.4dsystems.com.au/node/71266</link>
			<pubDate>Wed, 19 Feb 2020 21:42:25 GMT</pubDate>
			<description><![CDATA[Hi, 
 
I am trying to make a custom battery gauge using the Smart Widgets Editor. I got the hang of it but I am stuck on one issue. 
The &quot;charge...]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I am trying to make a custom battery gauge using the Smart Widgets Editor. I got the hang of it but I am stuck on one issue.<br />
The &quot;charge level&quot; image of the battery is placed at the lowest layer and translated &quot;inside&quot; the cylinder based on the actual charge level. However, on layer 1 I placed the bottom cap of the battery, including some drop shadow so the background comes through. As you can see, the charge level image slides under the bottom cap. How can I hide it at the bottom, so I can still use the drop shadow? Is there maybe some kind of cropping function available? Or even better, a way to &quot;mask&quot; a layer?<br />
<br />
<a href="filedata/fetch?id=71267&amp;d=1582147161" rel="Lightbox_0" target="_blank" class="bbcode-attachment"  ><img alt="Click image for larger version  Name:	batt_smartgauge.JPG Views:	0 Size:	12.4 KB ID:	71267" title="batt_smartgauge.JPG" data-attachmentid="71267" data-align="none" data-size="medium" border="0" src="filedata/fetch?id=71267&amp;d=1582147161&amp;type=medium" class="bbcode-attachment thumbnail js-lightbox group-by-parent-71266" /></a><br />
Thanks,]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/59004">Workshop4 PRO</category>
			<dc:creator>klaasdc</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71266</guid>
		</item>
		<item>
			<title>Buffered UART</title>
			<link>https://forum.4dsystems.com.au/node/71256</link>
			<pubDate>Tue, 18 Feb 2020 14:00:54 GMT</pubDate>
			<description>Hi 
 
I am at a point in project where I need to optimize my code to get a fastest execution time. 
More precisely, when the user is using a slider...</description>
			<content:encoded><![CDATA[Hi<br />
<br />
I am at a point in project where I need to optimize my code to get a fastest execution time.<br />
More precisely, when the user is using a slider widget, I have some data to send on the serial/UART. Since the user can play quickly with the slider, I need my serial communication to be fast, to prevent lag.<br />
<br />
I have setup my UART to work in buffered mode, thinking it would give me a faster execution.<br />
<br />
Here is what I understood :<br />
- Using normal mode, serout() needs to wait until there is some free space to send the next data.<br />
- Using buffered mode, serout() will fill a circular buffer. When using com_TXbufferHold(OFF), the data in the buffer is automatically sent on the UART.<br />
This mode should execute faster, since I am filling a variable, and not directly the UART register.<br />
<br />
However, trying a buffered and non-buffered code gives me the same execution duration :<br />
<br />

	
	
	

<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code" style="height:200;">
// Global Variable
#constant TX_COM_BUFFER_SIZE_ENCODED_FRAME 1024
var TXbuff [TX_COM_BUFFER_SIZE_ENCODED_FRAME];



func main()

[Some inits]

com_Reset();
com_SetBaud(COM0, 39700); // Parameter for the function is Baud/10
com_Init(RXbuff, BACKGROUND_SERIAL_COM_BUFFER_SIZE,0);
com_TXbuffer(TXbuff,TX_COM_BUFFER_SIZE_ENCODED_FRAME*2,0); // Each array cell is 2 bytes</pre>
</div><br />
<br />

	
	
	

<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code" style="height:380;">func sendSerialFrame(var cmd, var * dat, var dataLength)

var i := 0;
var checksum := 0;

var tst_start ;
var tst_stop ;


tst_start := sys_T();


// Make sure the previous frame is completely sent (equivalent to while(isDMABusy()) )
while(com_TXcount() &gt; 0) ;


// Tell TXBuffer that we want to fill the buffer, but not send directly
com_TXbufferHold(ON);    <b>// REMOVED WHEN TRYING NON-BUFFERED</b>


// START CODE
serout(SERIAL_COMMUNICATION_START_CODE) ;

// Command (need to add an ESCAPE if required)
if((cmd == SERIAL_COMMUNICATION_START_CODE) | (cmd == SERIAL_COMMUNICATION_STOP_CODE) | (cmd == SERIAL_COMMUNICATION_ESCAPE_CODE))
     serout(SERIAL_COMMUNICATION_ESCAPE_CODE) ;
endif
serout(cmd) ;
checksum := cmd ;


// All data
// Using the same loop, compute the checksum.
// Using a while() is a bit faster than for() !!
while(i&lt;dataLength)
     // If any of these byte needs an ESCAPE, add the ESCAPE to the encoded frame
     if((dat[i] == SERIAL_COMMUNICATION_START_CODE) | (dat[i] == SERIAL_COMMUNICATION_STOP_CODE) | (dat[i] == SERIAL_COMMUNICATION_ESCAPE_CODE))
          serout(SERIAL_COMMUNICATION_ESCAPE_CODE) ;
     endif
     serout(dat[i]) ;

     // The checksum does not take into account the START, STOP and ESCAPE
     checksum := checksum + dat[i] ;
     if(checksum &gt; 255)
          checksum := (checksum - 256) ;
     endif

i++ ;
wend


// Checksum
serout(checksum) ;

// STOP CODE
serout(SERIAL_COMMUNICATION_STOP_CODE) ;

// Release TX buffer : all the data will be sent !
com_TXbufferHold(OFF);   <b>// REMOVED WHEN TRYING NON-BUFFERED</b>

// Display the execution duration
tst_stop := sys_T();
putstrXY(0,0,&quot;Total: &quot;);
putnumXY(50,0, DEC, tst_stop-tst_start);
endfunc</pre>
</div><br />
Is there something I am missing, or misanderstanding ?<br />
My baud is setup for ~400k, 8 bits, No parity. A 512 byte frame should take ~13ms to be sent out.<br />
I know I have a bit of extra commands to encode my frame, but I find it suprising to get a 27ms execution time for sendSerialFrame(), in both buffered and non-buffered.<br />
<br />
]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/38">Workshop4 - ViSi Environment (Diablo16)</category>
			<dc:creator>Vincent44</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71256</guid>
		</item>
		<item>
			<title>Is there a way to get a dictionary structure in 4DGL?</title>
			<link>https://forum.4dsystems.com.au/node/71249</link>
			<pubDate>Mon, 17 Feb 2020 08:39:18 GMT</pubDate>
			<description>Hello, 
 
Is it possible to have a key-value pair data structure in 4DGL? 
 
This occurs from the fact that data coming over SPI may be a number,...</description>
			<content:encoded><![CDATA[Hello,<br />
<br />
Is it possible to have a key-value pair data structure in 4DGL?<br />
<br />
This occurs from the fact that data coming over SPI may be a number, corresponding to which, I may need to show a string. Currently, I have to make this using a switch statement inside a function and calling that function from the place where this string needs to be printed.<br />
However, if there were a simple key-value pair data structure, like Python's dictionary object, it would be so much simpler. The overhead of function calls could be avoided and also make it syntactically simple to understand.<br />
<br />
4DGL experts, your help is needed.<br />
<br />
Best Regards,<br />
Vishal Sapre]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/36">Workshop4 Software IDE and Tools</category>
			<dc:creator>vsapre</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71249</guid>
		</item>
		<item>
			<title>Smart Widgets alter image in X, Y and rotate simultaneously</title>
			<link>https://forum.4dsystems.com.au/node/71233</link>
			<pubDate>Sun, 16 Feb 2020 10:24:17 GMT</pubDate>
			<description>Hi, 
 
I am working on a instrument that would show the PITCH, ROLL and YAW. Much similar to how a flight Attitude indicator would work. 
 
To be...</description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I am working on a instrument that would show the PITCH, ROLL and YAW. Much similar to how a flight Attitude indicator would work.<br />
<br />
To be able to do this I need to be able to move the picture in the X, Y and rotate the picture all at the same time. <br />
<br />
<br />
<br />
Looking at the Smart Widget editor and the Smart Widget manual I cant figure out how to do this. <br />
<br />
<br />
Any help here would be highly appriciated. <br />
<br />
Best regards<br />
Johan]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/59004">Workshop4 PRO</category>
			<dc:creator>babelfishen</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71233</guid>
		</item>
		<item>
			<title>Issue with sending a variable to form0</title>
			<link>https://forum.4dsystems.com.au/node/71168</link>
			<pubDate>Sun, 09 Feb 2020 21:02:33 GMT</pubDate>
			<description><![CDATA[Hello, 
 
I have an odd issue that i can not figure out. I'm using a Gen4-uLC-35DCT-CLB with an arduino nano to control an annealer. Everything...]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I have an odd issue that i can not figure out. I'm using a Gen4-uLC-35DCT-CLB with an arduino nano to control an annealer. Everything worked fine until i added a current and voltage sensing circuit. The coil voltage and coil current both fluctuate quite a bit, much more than they did during standalone testing (not using the LCD, used a separate arduino nano and read values through serial monitor). I then inserted a string item on form 4 to help troubleshoot and i got stable values as i did for the standalone testing. Then i inserted a string item on form0 and did not get stable values. So what i know is that the arduino is sending the correct values to the LCD (being that they are displayed on form4 on string items and leddigits as well, see form4 video with green font), but for some reason the values change when sent to form0 (see form0 video with blue font). I've tried changing the index numbers (leddigits3 to leddigits5) with no success. Any suggestions?<br />
<br />
<br />
<br />
here is the section of code that does the writing (full code is attached):<br />
<br />
int c = round(valueC * cMod);<br />
int v = round(valueV * vMod);<br />
genie.WriteStr(0, v);<br />
genie.WriteStr(1, c);<br />
genie.WriteStr(2, v);<br />
genie.WriteStr(3, c);<br />
genie.WriteObject(15, 12, v); //LCD Voltage Update leddigits12 id:15<br />
genie.WriteObject(15, 13, c); //LCD Current Update leddigits13 id:15<br />
genie.WriteObject(15, 8, v); //voltage to form4<br />
genie.WriteObject(15, 9, c); //current to form4<br />
<br />
<br />
Videos:<br />
<br />
form0: <a href="https://www.youtube.com/watch?v=-xF5Y5qM-7U" target="_blank">https://www.youtube.com/watch?v=-xF5Y5qM-7U</a><br />
The values in question are coil current and coil voltage. the values c and v are displayed to the right of the leddigits using WriteStr.<br />
<br />
form4: <a href="https://www.youtube.com/watch?v=ZFgbPhern2Y&amp;feature=youtu.be" target="_blank">https://www.youtube.com/watch?v=ZFgb...ature=youtu.be</a><br />
Voltage is on top and current on bottom. values c and v are also displayed to the right of their corresponding leddigits.]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/38">Workshop4 - ViSi Environment (Diablo16)</category>
			<dc:creator>mattzero</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71168</guid>
		</item>
		<item>
			<title>Smart Slider bug? (or am I doing something wrong?)</title>
			<link>https://forum.4dsystems.com.au/node/71152</link>
			<pubDate>Sat, 08 Feb 2020 17:55:46 GMT</pubDate>
			<description><![CDATA[Howdy, 
     I got my Pro license last night and I've been working to set up a Smart Slider. I've run into an issue where I'm not sure if I'm doing...]]></description>
			<content:encoded><![CDATA[Howdy,<br />
     I got my Pro license last night and I've been working to set up a Smart Slider. I've run into an issue where I'm not sure if I'm doing something wrong or if I've found a bug in the smart sliders.<br />
<br />
I have a smart slider set up modeled after the sample Horizontal Slider but with my own graphics and a 0 -15 value range.<br />
<br />
Whenever I move the slider off of the 0 (leftmost) position, the Layer 2 image (the no progress image) shifts to the right and shows past the frame on that side by several pixels. How many pixels it shifts seems to be based on which set of graphics I use.<br />
<br />
This issue occurs both in the editor and when loaded to my Gen4 35DT. <br />
<br />
I've tried several sets of graphics and tinkered with all the settings, nothing I can find seems to correct the issue. They work perfectly other than this visual issue.<br />
<br />
I've attached a small project that shows the issue on two sliders, each with the same settings but different graphics.<br />
<br />
If someone can take a a look at this and either explain what I'm doing wrong or let me know that it is indeed a bug (and hopefully an ETA for a fix in that case) I'd much appreciate it.<br />
<br />
Thanks,<br />
Keith]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/59004">Workshop4 PRO</category>
			<dc:creator>kad</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71152</guid>
		</item>
		<item>
			<title>Custom Digits usage issue</title>
			<link>https://forum.4dsystems.com.au/node/71117</link>
			<pubDate>Tue, 04 Feb 2020 16:56:15 GMT</pubDate>
			<description><![CDATA[Hello, 
 
I am trying to use the custom digits feature without success so far: the initial image with &quot;00&quot; is shown, but ledDigitsDisplay does not...]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I am trying to use the custom digits feature without success so far: the initial image with &quot;00&quot; is shown, but ledDigitsDisplay does not seem to work.<br />
The initial image displayed indicates that the GCI file is likely loaded properly. Extra debug statements also informed me that the loop is actually working, but the display is not updated.<br />
<br />
I am new to Workshop4, so there is probably something obvious I am missing.<br />
<br />
Thanks for your help,<br />
<br />
Worskhop: 4.6.0.20<br />
Display: Gen4-uLCD-32DT<br />
<br />

	
	
	

<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code" style="height:176;">hndl := file_LoadImageControl(&quot;count.dat&quot;, &quot;count.gci&quot;, 1);

img_Show(hndl, icount); // show all digits at 0, only do this once

i := 0;
repeat
  ledDigitsDisplay(0, iicount, 0, 2, 1, 36, 0) ;
  i++;
  if ( i &gt; 99 )
    i := 0;
  endif
pause(1000);
forever</pre>
</div><img title="RegDigits.bmp" data-attachmentid="71118" data-align="none" data-size="full" border="0" src="filedata/fetch?id=71118&amp;d=1580834766" class="bbcode-attachment thumbnail" alt="Click image for larger version

Name:	RegDigits.bmp
Views:	38
Size:	81.1 KB
ID:	71118" /><br />
<br />
Attached: full project with BMP file.]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/38">Workshop4 - ViSi Environment (Diablo16)</category>
			<dc:creator>lolitodubateau</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71117</guid>
		</item>
		<item>
			<title>Analog Input in Genie</title>
			<link>https://forum.4dsystems.com.au/node/71116</link>
			<pubDate>Tue, 04 Feb 2020 15:46:24 GMT</pubDate>
			<description><![CDATA[I am using a Gen 4 35DT, programing via the Genie environment, using Workshop 4.6.x and I can't seem to find a way to set an input pin to Analog....]]></description>
			<content:encoded><![CDATA[I am using a Gen 4 35DT, programing via the Genie environment, using Workshop 4.6.x and I can't seem to find a way to set an input pin to Analog. According to the datasheet pins PA0,1, 2 &amp; 3 are 3.3v analog capable and each pin has three modes <span style="font-family:sans-serif">(standard, averaged mode &amp; high speed), but I can't seem to find any way to set the pin to Analog or set the mode on the Genie </span>PinInputX object. Can someone point me to instructions on this?<br />
<br />
-K]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/39">Workshop4 - ViSi-Genie Environment (Diablo16)</category>
			<dc:creator>kad</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71116</guid>
		</item>
		<item>
			<title><![CDATA[#platform &amp;quot;UOLED-96-G2&amp;quot; no longer supported?]]></title>
			<link>https://forum.4dsystems.com.au/node/71096</link>
			<pubDate>Fri, 31 Jan 2020 16:37:36 GMT</pubDate>
			<description><![CDATA[In my (many years ago and until last year working) 4Dg file, I use a first command: 
 
#platform &quot;UOLED-96-G2&quot; When compiling I now get an error...]]></description>
			<content:encoded><![CDATA[In my (many years ago and until last year working) 4Dg file, I use a first command:<br />
<br />
#platform &quot;UOLED-96-G2&quot; When compiling I now get an error message which reads:<br />
<br />
Fatal error: Can't open 'E:\uOLED files\UOLED-96-G@.fnc': no such file or directory (line 1:...)<br />
<br />
What happened to the INC file, why does it now want a fnc file?<br />
<br />
Strange enough, the graphics generated by the compiling are in fact stored on the uSD card despite this fatal error message.<br />
<br />
thanks<br />
MadAl]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/36">Workshop4 Software IDE and Tools</category>
			<dc:creator>MadAl</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71096</guid>
		</item>
		<item>
			<title>Down loading from a uLCD-43DT memory</title>
			<link>https://forum.4dsystems.com.au/node/71053</link>
			<pubDate>Mon, 27 Jan 2020 19:49:26 GMT</pubDate>
			<description>Hi gang, Was in here a few years back when someone dumped a project on me. With great help I was able to finish the project. The project required me...</description>
			<content:encoded><![CDATA[Hi gang, Was in here a few years back when someone dumped a project on me. With great help I was able to finish the project. The project required me to get the PRO version of 4D Workshop to use the Genie Magic portion of the software. So the display and an Ardunio board to talk to each other and share some data on the uSD card. So here I am 4 or 5 years later and forgetting a lot. But have the Ardunio sketch and the parameter files for the uSD. But there was some code that I had to load on the display. Is there a way to download this from the uLCD and upload it to the Gen4 version? Thanks and hope to not need as much hand holding as in the past. I know that I was something of a pest in the past but hope to be just a few quick questions this time around. Still own you gent a bucket full of gratitude for all of the help last time.<br />
Paul]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/59004">Workshop4 PRO</category>
			<dc:creator>Paul Vogler</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71053</guid>
		</item>
		<item>
			<title>Issues with WINBUTTON function within my Arduino Uno code.</title>
			<link>https://forum.4dsystems.com.au/node/71044</link>
			<pubDate>Mon, 27 Jan 2020 03:04:15 GMT</pubDate>
			<description><![CDATA[Hi, 
I have attached my Arduino code &quot;Sprinkler System R5.ino. 
I cannot attach my Visie Genie project &quot;Sprinkler System R2.4DGenie&quot; project as this...]]></description>
			<content:encoded><![CDATA[Hi,<br />
I have attached my Arduino code &quot;Sprinkler System R5.ino.<br />
I cannot attach my Visie Genie project &quot;Sprinkler System R2.4DGenie&quot; project as this post will not allow the upload of such a file?<br />
<br />
In particular I am referring to Form 2 of the Visie Genie project. This form is especially setup for testing my Arduino code. The Arduino code refers to all of the objects in Form 2.<br />
<br />
I have these defined variable as noted below within the code.<br />
<br />
<span style="color:#e74c3c">int Behind_Lawn_Selected; //Water Behind Lawn button is pressed</span><br />
<span style="color:#e74c3c">int Behind_Garage_Selected; //Water Behind Garage button is pressed</span><br />
<span style="color:#e74c3c">int Retaining_Wall_Selected; //Water Retaining Wall button is pressed</span><br />
<span style="color:#e74c3c">int Front_Lounge_Selected; //Water Front Lounge button is pressed</span><br />
<span style="color:#e74c3c">int Front_Garage_Selected; //Water Front Garage button is pressed</span><br />
<span style="color:#e74c3c">int Pump_Only_Selected; //Start Pump Only button is pressed</span><br />
<br />
In the Arduino code I set these variables depending on which WINBUTTON is selected from the LCD screen, Form 3, an example is below.<br />
<br />
if (Event.reportObject.cmd == GENIE_REPORT_EVENT)<br />
{<br />
if (Event.reportObject.object == GENIE_OBJ_WINBUTTON) // If the Reported Message was from a WINBUTTON<br />
{<br />
if (Event.reportObject.index == 20) // If WINBUTTON with index 20 is selected<br />
{<br />
<span style="color:#ff0000"><b>Behind_Lawn_Selected = 1;</b></span><br />
genie.WriteObject(GENIE_OBJ_LED, 6, 1); // Write Slider0 value to LED Digits 0<br />
genie.WriteObject(GENIE_OBJ_LED, 7, 0);<br />
genie.WriteObject(GENIE_OBJ_LED, 8, 0);<br />
genie.WriteObject(GENIE_OBJ_LED, 9, 0);<br />
genie.WriteObject(GENIE_OBJ_LED, 10, 0);<br />
genie.WriteObject(GENIE_OBJ_LED, 11, 0);<br />
//genie.WriteObject(GENIE_OBJ_LED_DIGITS, 1, 1);<br />
<br />
}<br />
}<br />
}<br />
<br />
You will notice further down in the code I perform a task if <span style="color:#ff0000"><b>Behind_Lawn_Selected == 1; </b></span>the code is below.<br />
<br />
<b><span style="color:#9b59b6">if(Behind_Lawn_Selected == 1)<br />
{<br />
genie.WriteObject(GENIE_OBJ_LED_DIGITS, 1, 1);<br />
//delay(1000);<br />
}</span></b><br />
<br />
Basically this last bit of code highlighted in purple just does not work and I don't know why. Can anyone please assist me.<br />
<br />
If I write this code in purple within the loop of the if (Event.reportObject.index == 20), the code works, but this is not what I need for my programe.<br />
I need to remember within my code that WINBUTTON 20 has been pressed by setting &quot;<span style="color:#ff0000"><b>Behind_Lawn_Selected = 1;&quot; </b></span>and then using that variable throughout my code to perform other<br />
functions.<br />
<br />
Hope my explanation makes sense.]]></content:encoded>
			<category domain="https://forum.4dsystems.com.au/node/38">Workshop4 - ViSi Environment (Diablo16)</category>
			<dc:creator>RobC</dc:creator>
			<guid isPermaLink="true">https://forum.4dsystems.com.au/node/71044</guid>
		</item>
	</channel>
</rss>
