Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Rick314

Pages: [1] 2 3 4
I can provide netloader_jre150_v107.exe (10 MB).  Send me a forum personal message with your email address.  I tried uploading it as a .zip file attachment but the forum software won't allow it.

I spoke too soon and found netloader_jre150_v107.exe on my 2011 Dell D600 Windows XP laptop that hasn't been on in many years!  I tried twice to upload it as an attachment here in the forum (10 MB) but twice it appeared to fail.  I will attempt to get it to you through forum messaging.

Wow, I am still subscribed here after about 7 years of inactivity.  I looked but don't have the desired files any longer.  But I did find the attached file from May 2011 that might help.

Thank you gr, not only for answering my questions but for the flash memory information/cautions.

Ethernet Boards (8-bit) / Re: SBC65EC rev 3 Data Sheet errors/omissions
« on: December 22, 2011, 06:48:28 PM »
This concerns Modtronix documentation in general, but uses SBC65EC documentation as an example.

The SBC65EC version 3 data sheet at lists "General Commands", but is missing the "lk=str" and "ll=str" General Commands that are documented in other tables.  This makes me wonder what else is missing from the data sheet.

SBC65EC Web Server documentation at, left "Commands" link, has links to Commands, Tags, and Events.  Commands, Tags, and Events aren't all Commands.  It seems like Commands, Tags, and Events should either all 3 be under "Control" or each have their own page.  Search the "Commands" page for "General Commands".  Similar but not identical "General Commands" tables are in two places.  The first table includes "le=XX" and the second table doesn't have it.  Similarly, the "Tags" page duplicates both the Expansion Board Tags and General Tags tables in 2 places each.  I didn't spend the time to see if they are identical pairs or not.  (This auto-generated documentation is only as good as the source it is derived from.)

The SBC65EC web pages (Introduction, "click here") include a Commands page, but I could only find partial to non-existent Tags and Events documentation there.

None of the above sources include for example, how to configure the SBC65EC "Analog Input Settings" web page configuration settings "Port Configuration", "Voltage Reference Configuration", and "Acquisition Time".  As answered at, these are apparently only available through "kxx=" Application Configuration Byte control.  If you look hard enough, the Web Server documentation mentions "ADC configuration", giving a hint of where to look in the code for how to control these things.  But in this case, apparently the only way to learn enough about them is to read the source code.

All these different sources of non-agreeing information only make users trust none of them as being complete and correct.  I encourage Modtronix to have one master set of documentation (in general, not only for SBC65EC control) that other sources either point to or are automatically generated from.  Also that one master source has to be kept up to date, with the firmware version it applies to clearly identified.

Ethernet Boards (8-bit) / SBC65EC Analog Input Settings: How to program?
« on: December 21, 2011, 10:09:10 PM »
The SBC65EC Analog Input Settings web page shows 3 configuration settings: Port Configuration (ADC Off; A0; A0,A1; ... 10 more choices), Voltage Reference Configuration (4 choices), and Acquisition Time (5 choices).  I can't find any HTTP/UDP configuration commands for these 3 settings.  Are there any, or do they have to be manually configured using the web pages?  If the latter case, why?

Ethernet Boards (8-bit) / Re: SBC65EC UDP experimentation program (Java)
« on: December 14, 2011, 09:16:38 PM »
Today I updated to allow receiving UDP responses from the SBC65EC in addition to sending them.  The program now has 4 parameters instead of 3.  This Windows Command Prompt session shows usage instructions and the results of using the new 4th parameter to read the analog voltage on signal A0 from the SBC.

C> java TestUDP
Modtronix SBC65EC UDP Test Program
Usage: java TestUDP <IP/URL> <delay> <UDP string> <reply>
   <IP or URL> = SBC65EC IP address or URL
   <delay> = ms delay after each UDP packet sent
             (0 = send once and exit)
   <UDP string> = string to send in the UDP packet
   <reply> = 1 (wait 2s for a reply packet) or 0 (don't)
   java TestUDP mxboard 0 "cc0=0&cc1=0&cc2=0" 0
   java TestUDP 0 "c1=1&c2=1" 0
   java TestUDP mxboard 100 "c1=0&c1=1" 0
   java TestUDP 1000 "c1p=9" 0
   java TestUDP mxboard 200 "%n20" 1
End repeating outputs with an operating system break.

C> java TestUDP mxboard 0 "%n00" 1
%n00 37F   <<< hex ADC value

C> java TestUDP mxboard 0 "%n10" 1
%n10 895   <<< decimal ADC value

C> java TestUDP mxboard 0 "%n20" 1
%n20 4.33   <<< Voltage (5V reference)

C> java TestUDP mxboard 0 "%n30" 1
%n30 <!--   <<< channel configured for ADC

C> java TestUDP mxboard 0 "%n40" 1
%n40 -->   <<< channel configured for ADC

C> java TestUDP mxboard 0 "%n50" 1
%n50   <<< channel NOT NOT configured for ADC (no return packet)

C> java TestUDP mxboard 0 "%n60" 1
%n60   <<< channel NOT NOT configured for ADC (no return packet)

Ethernet Boards (8-bit) / Re: SBC65EC rev 3 Data Sheet errors/omissions
« on: December 14, 2011, 08:20:21 PM »
SBC65EC rev 3 data sheet, page 12, "Analog Input Tags", lists analog inputs 0 through A (hex), or 11 (decimal) inputs total.  The SBC65EC "Analog Input Value" web page shows analog input B (hex) as an example.  I am not sure what 0 through B in the command correspond to, but I think it is signals A0, A1, A2, A3, A5, F0, F1, F2, F3, F4, F5, F6 (no A4) respectively, as shown on the web page.

A minor typo in the same table, "20 - 2A" row, "Decimale" should be "Decimal".

4 minor typos in the last 4 rows of the table: "...if the channels is..." should be "...if the channels are..."

A suggested clarification: The last 4 rows of the table don't say what is returned by the SBC65EC if the listed channels are NOT configured as described.  I found out in those cases when using UDP that no reply packet at all is returned.  (I thought it would be a reply packet with a single data byte of a NULL character, an empty string, just to satisfy the query.  But I found out the hard way that it is no packet at all, making UDP control programs encounter a timeout exception if they aren't written to handle that case.)

Ethernet Boards (8-bit) / SBC65EC return string defect: No NULL
« on: December 14, 2011, 07:54:37 PM »
The SBC65EC usually returns NULL-terminated strings in response to UDP tag requests.  But in the case of analog voltages in format 0 ("3 digit uppercase hex value") no terminating NULL is provided.

Details: See the Wireshark results below.  I am reading a nearly full-scale voltage level on signal A0, by configuring it as an analog input and querying its value using "%n00" (image 01).  Notice in image 02 that only 3 data bytes are returned, "3FE" with no trailing NULL.  More commonly (images 03 and 04), sending "%n10" (format 1, "Decimal value 0 - 1023") returns the 5 data bytes "1022" and a trailing NULL.  Formats 2,3,4,5,6 also return the expected NULL.

Ethernet Boards (8-bit) / SBC65EC/PT24E PWM to DC to Analog Input
« on: December 03, 2011, 11:19:15 PM »
To help learn SBC65EC features I used Pulse Width Modulation (PWM) to generate a 0 to 5 Volt DC signal and measure it as an analog input.  I hope it is useful to others to see how this is done.

Signal G0 (also called "RG0" in the SBC65EC data sheet, also called "D0" on the PT24E-ASM prototype board etched-on signal names) will be the PWM output.  On the PT24E it is near the DIP switch (shipped unloaded) as seen in the photo.  A0 (also called "RA0" on the SBC65EC data sheet) will be the analog input.  On the PT24E it is down near U1 as seen in the photo.  Connect G0 to A0 with a 1 kohm resistor.  This low value allows full-scale output to read "5.00" volts.  On my hardware, anything over about 2.5 kohm makes full-scale voltage "4.99" or less.

A filter capacitor goes from A0 to ground.  Choosing C of 1 uF (tantulum, 35V, + lead to A0) makes a low-pass filter corner frequency of 159 Hz, an RC time constant of 1 ms, and rejects the 39 kHz PWM signal by about 48 dB.  The 1 ms time constant means a 0 to 5V step will settle to 1 mV in about 8.5 ms.  That's it for the hardware.

On the SBC65EC web pages: Port Settings page, Port G, Pin 0, check it (an output), Submit; PWM Settings page, Mode 10-bit, Frequency 39.062 kHz, Channel 3 (Port G0) checked, Remember Settings After Power Up checked, Update; Analog Input Settings page, Port Configuration A0 (or more ports if you want them), Voltage Reference Configuration Vref+ = AVdd Vref- = AVss, Acquisition Time 19.2 us, Update; PWM Values page, Channel 3 (Port G0) to 512 (mid-range), Update; Analog Inputs page, A0, 2.44V (on my hardware).

Pictures following are my SBC65EC/PT24E, scope G0 output showing 39 kHz PWM at value 256 (quarter-scale, so 1/4 time at 5V and 3/4 time at 0V), and unwanted PWM feed-through at A0, with PWM value 512, of about 40 mV.

Ethernet Boards (8-bit) / SBC65EC rev 3 Data Sheet errors/omissions
« on: November 30, 2011, 08:48:40 PM »
The SBC65EC rev 3 Data Sheet currently located at has the following issues:

Page 5, Analog Inputs,  "The following 10 Daughter Board Connector pins..." is followed by a list of 12 pins.

Page 9, General Commands, omits the LCD Display commands "lk=str" and "ll=str" that are documented in the SBC65EC web server web pages at the LCD Display tab, "here" links (or open source code file cmd.htm in your browser).

12/16/11 update regarding using the "ll=str" command via UDP (and likely HTTP but I didn't test that): The string length is limited to about 30 characters, even though the LCD2S-204 display I am controlling is 4 rows of 20 characters each, or 80 characters total.  So instead of being able to update the whole display with a single UDP packet, it must be artificially broken into multiple packets.  For example, "lk=_f1234567890123456789012345678901234567890" (clear display and fill in the first 2 of 4 lines) gets truncated in the middle of the 2nd line of 20 characters.  I think the string length limit should at least be documented, and then hopefully extended in a future firmware release.  This might be considered a firmware error instead of a documentation error, but I chose to list it here.  In my case 100 would be a good string length limit, for 80 display characters plus several of the in-string control sequences: _n _f _r _b _t.

Page 9, General Commands, New Password, "... will set the new password [not username] to...".

Page 9, General Commands, New NetBIOS name, "... will set the new NetBIOS name [not username] to...".

Page 17, Figure 5, PCB Layout, says "REV 1" on the image instead of "REV 3". (The image appears to be obsolete.)

The rev 1 data sheet at has a schematic for rev 1 (1/18/2005).  The rev 2 data sheet at has a schematic for rev 2 (12/22/2005).  No schematic diagram at all is included in the rev 3 data sheet.

Please add other SBC65EC rev 3 Data Sheet errors/omissions to this thread.

Ethernet Boards (8-bit) / Re: SBC65EC UDP control firmware defect
« on: November 29, 2011, 01:37:56 PM »
gr: You're right, and I didn't see the earlier check for only 'n' or 'p' that the code we are discussing is inside.  For others that might read this in the future, I think gr was correct with his original replacement code proposal that I understand to be this.
Code: [Select]
                    //If name[2] = 'p' send positive pulse
                    if (name[2] == 'p') {
                        *p |= bitPos;          //Set port bit
                        while (tmp--) {}
                        *p &= (~bitPos);       //Clear port bit
                    //Else name[2] = 'n' so send negative pulse
                    else {
                        *p &= (~bitPos);       //Clear port bit
                        while (tmp--) {}
                        *p |= bitPos;          //Set port bit

Ethernet Boards (8-bit) / Re: SBC65EC UDP control firmware defect
« on: November 28, 2011, 11:42:11 PM »
There is an if statement after the else that shouldn't be there.  The code checks if "p" or positive pulse then in the else, it only does something if the duration is "1"!  That whole second if should be gone.  In other words, delete "if (value[0] == '1')" from the code below and leave the else as is.  Code from cmd.c:
Code: [Select]
                    //Send positive pulse
                    if (name[2] == 'p') {
                        *p |= bitPos;          //Set port bit
                        while (tmp--) {}
                        *p &= (~bitPos);       //Clear port bit
                    //If value = '1', set pin
                    else if (value[0] == '1') {
                        *p &= (~bitPos);       //Clear port bit
                        while (tmp--) {}
                        *p |= bitPos;          //Set port bit

gr: I was just looking at the problem code above and have a small change suggestion to your proposed fix.  I think to be like other code in the file and follow the author's intent (see lines 802 and 824) that the replacement code should be:

Code: [Select]
                    //If name[2] = 'p' send positive pulse
                    if (name[2] == 'p') {
                        *p |= bitPos;          //Set port bit
                        while (tmp--) {}
                        *p &= (~bitPos);       //Clear port bit
                    //If name[2] = 'n' send negative pulse
                    else if (name[2] == 'n') {
                        *p &= (~bitPos);       //Clear port bit
                        while (tmp--) {}
                        *p |= bitPos;          //Set port bit

This way only the documented commands of 'p' (positive pulse, e.g. 'c1p=3') and 'n' (negative pulse, e.g. 'c1n=3') work, while other characters are ignored.  This is like other commands.  In the fix you proposed, for example, 'c1<any character other than p>=3' would make a negative pulse.

Ethernet Boards (8-bit) / Re: circuit diagram for SBC65EC Rev3.01
« on: November 28, 2011, 07:38:29 PM »
I would also be interested in an SBC65EC rev 3 board layout.  Related information: has a schematic for rev 1 (1/18/2005) and a board layout showing "REV 1" etched on the board.  So far all looks good. has a schematic for rev 2 (12/22/2005) and a board layout showing "REV 1" (not the expected "REV 2") etched on the board.  So the board layout shown in this document is suspect. has no schematic for rev 3, and a board layout showing "REV 1" (not the expected "REV 3") etched on the board.  So the board layout shown in this document is suspect, and the schematic diagram is missing.

I have followed  The SBC web page is not working.
What happened after connecting the PC to SBC using a crossover cable, getting the PC at and subnet, and at the Windows Command Prompt typing "ping"?  This uses Internet Control Message Protocol (ICMP) instead of User Datagram Protocol (UDP).  If this also didn't work, I think I am out of ideas.  But the fact that the SBC LED is blinking and Wireshark shows Address Resolution Protocol (ARP) works says to me that much of the SBC is alive and well.

Pages: [1] 2 3 4