Page 1 of 1

Programming the SuperPro

Posted: 12 Dec 2011, 20:15
by mightor
I am trying to use SPC to program my new HT SuperPro board but I am not having a lot of luck uploading the program to it. I created the following program:

Code: Select all

task main () {
     printf("Hello World");
}
It compiles fine but when I try to upload it, I get this:

9:12:15.255 PM Automatically setting firmware to enhanced
9:12:15.257 PM Automatically setting firmware version to 128
9:12:15.261 PM Current file = "D:\User Data\Projects\SuperPro\hello.spc"
9:12:15.262 PM SPC compilation begins
9:12:15.262 PM Compiling for firmware version 128, NBC/NXC enhanced = TRUE
9:12:15.263 PM Running SPC preprocessor
9:12:15.266 PM Include path = .\;"C:\Program Files (x86)\BricxCC\";"D:\User Data\Projects\SuperPro\"
9:12:15.266 PM Processing include: spmem.h
9:12:15.269 PM SPC init program
9:12:15.270 PM Current file = "SPCDefs.h"
9:12:15.271 PM SPC parse program code
9:12:15.273 PM SPC processing global declarations
9:12:15.274 PM SPC processing function block: isupper
9:12:15.275 PM SPC processing function block: islower
9:12:15.277 PM SPC processing function block: isalpha
9:12:15.278 PM SPC processing function block: isdigit
9:12:15.279 PM SPC processing function block: isalnum
9:12:15.281 PM SPC processing function block: isspace
9:12:15.282 PM SPC processing function block: iscntrl
9:12:15.284 PM SPC processing function block: isprint
9:12:15.285 PM SPC processing function block: isgraph
9:12:15.286 PM SPC processing function block: ispunct
9:12:15.290 PM SPC processing function block: isxdigit
9:12:15.291 PM SPC processing function block: toupper
9:12:15.293 PM SPC processing function block: tolower
9:12:15.294 PM Current file = "D:\User Data\Projects\SuperPro\hello.spc"
9:12:15.296 PM SPC processing procedure block: main
9:12:15.297 PM SPC processing global declarations
9:12:15.298 PM SPC generate trailer
9:12:15.299 PM SPC code generation finished
9:12:15.301 PM Finalizing dependencies
9:12:15.302 PM Build codespace references
9:12:15.303 PM Optimizing at level 2
9:12:15.304 PM Compact the codespace
9:12:15.305 PM Remove unused labels
9:12:15.306 PM Run codespace optimizations
9:12:15.307 PM Optimizing code: main
9:12:15.308 PM Compact the codespace after optimizations
9:12:15.309 PM Remove unused pragmas
9:12:15.310 PM Compact the dataspace
9:12:15.311 PM Sort the dataspace
9:12:15.312 PM Fill code arrays
9:12:15.313 PM Write code to executable
9:12:15.314 PM Write optimized source to compiler output
9:12:15.315 PM Finished
9:12:15.316 PM Download failed

I connected to it:
Image

Any ideas? The file is named hello.spc.

- Xander

Re: Programming the SuperPro

Posted: 13 Dec 2011, 04:37
by afanofosc
If you use the newer build of BricxCC that I sent you you'll see that "usb" is not an option listed in the Ports list anymore. To communicate with the SuperPro board you need to installed the FTDI virtual serial port drivers (http://www.ftdichip.com/Drivers/VCP.htm) and then pick the correct COM port from the drop-down list. I'm looking for ways to get it to automatically pick the correct serial port but I haven't worked it out exactly yet.

John Hansen

Re: Programming the SuperPro

Posted: 13 Dec 2011, 07:06
by mightor
John,

My FTDI driver has the SuperPro sitting on COM29 and the list only goes as far as COM8 :) Is this a hard limit in the BrixCC UI? Is there a way around it?

Edit: I have a work-around for it for now. I simply removed some of the NXTs' Virtual COM ports from 4 and 5, removed the FTDI driver sitting on COM29 and then replugged the Super Pro. That forced it on COM4 and now it works :)

I've posted about it on my blog here: [LINK].

- Xander

Re: Programming the SuperPro

Posted: 13 Dec 2011, 15:01
by afanofosc
The drop-down list only populates with COM1 through COM8 but you can simply type in whatever COM port number you need in the edit field of this list. I.e., typing COM29 into the Ports edit field should have worked just fine.

The 20111212 test release zip includes a fix for a bug in the Simple Terminal window where I was trimming leading whitespace from the sent and received data before displaying it in the memo field. I still trim trailing whitespace but hopefully that will not cause any problems.

John Hansen