ROBOTC.net forums
http://robotc.net/forums/

ROBOTC 1.30 BETA 2 Release
http://robotc.net/forums/viewtopic.php?f=1&t=539
Page 1 of 1

Author:  tfriez [ Tue Apr 29, 2008 4:51 pm ]
Post subject:  ROBOTC 1.30 BETA 2 Release

We're currently working on 1.30 FINAL in the next couple of weeks, so here's the second beta release of 1.30 to tide you over until then!

http://www.robotc.net/lego/downloads/RO ... BETA_2.exe

Author:  Ford Prefect [ Tue Apr 29, 2008 5:35 pm ]
Post subject: 

which of the reported bugs are fixed with this beta?

Author:  elemes [ Wed Apr 30, 2008 3:48 am ]
Post subject:  Re: ROBOTC 1.30 BETA 2 Release

tfriez wrote:
We're currently working on 1.30 FINAL in the next couple of weeks, so here's the second beta release of 1.30 to tide you over until then!


wow.
time to replace 1.10.

Author:  Ford Prefect [ Wed Apr 30, 2008 4:02 pm ]
Post subject: 

again:
what's new in 1.30 beta?

Author:  tfriez [ Wed Apr 30, 2008 4:08 pm ]
Post subject: 

Ford: Please stop reposting the same question. It will not get you an answer any faster. This is your first and last warning.

The change log is included with ROBOTC.

Version 1.3
• Support added for the new FTC (FIRST Technology Challenge) robot. This includes:
o PC joystick / gamepad control over your robot.
o Integrated firmware device driver for the new HiTechnic servo / motor controller.
o New debugger window for read / write control over servos and the new 12 volt motors.
• Added new drawing function to “invert” and “erase” line between two points. Added new feature to disable the “low voltage” pop up window display. Controlled via the new variable “LowVoltageBatteryCountLimits”. Previously 10 consecutive low battery values caused the low battery pop up window to be displayed. Made this a programmable parameter that is stored in persistent flash. Setting to zero will disable the pop up window.
• Added new preferences page to better control compiler generation of optional warning messages for unreferenced variables.
• Added new preference to move old version of file to “trash” when saving rather than permanently deleting. Default is to move to trash.
Version 1.27
• New features
o Added “erase line” and “invert line” functions
o Added range exception on trying to control invalid servo index.
o Added integrated device drivers for many new I2C sensors. Initial support for HiTechnic color, accelerometer, and compass. More drivers coming soon for devices from Mindsensors.
o Added new “Try Me” programs for
1. Compass
2. Accelerometer.
These programs perform auto detection of the sensor. They scan all sensor ports looking for an appropriate sensor of the desired type. They have nifty graphical display of the sensor values.
• Bug Fixes / Minor Enhancements
o Low battery popup window was sometimes latching up NXT when user program was running. Fixed.
Version 1.25
• New features
o Added “rate of change” adjustment to servo driver to minimize jerkiness on rapid changes of servo. [Note: servo driver only available on some ROBOTC platforms].
o Added range exception on trying to control invalid servo index.
• Bug Fixes / Minor Enhancements
o Timeout on ACK from Bluetooth “close connection” request was too short. It was lengthened.
Version 1.24
• Bug Fixes / Minor Enhancements
o Version 1.23 introduced a bug in the allocation and release of internal temporary variables. Now fixed.
o The error message for “'return' statement required for exit from non 'void' functions” is now associated with the last line of the “invalid” function. Previously it was correctly generating but could appear on any source line within the function.
o Compiler was not properly recognizing ‘enum’ definitions that were not part of a ‘typedef’. This was a feature added in version 1.17.

Author:  Ford Prefect [ Wed Apr 30, 2008 6:31 pm ]
Post subject: 

maybe I didn't understand everything quite rigth, but I didn't find any bug fix of the reportet faulty structure functions in your list.
Have those manifold malfunctions been corrected?

Author:  starwarslegokid [ Thu May 01, 2008 3:37 pm ]
Post subject: 

You will get a reply from the bug tracker when your bugs have been fixed.

Scott

Author:  Ford Prefect [ Thu May 01, 2008 5:28 pm ]
Post subject: 

so I guess I understand you right that the structure bugs not having been fixed yet?

Author:  elemes [ Sun May 04, 2008 3:42 pm ]
Post subject:  struct

Hi Ford,

I've installed 1.3B2, first thing after startup is the vacnju:
Quote:
What’s New in ROBOTC
This is a description, in reverse chronological order, of major changes to the ROBOTC for product release and upgrades.

Version 1.3
· Support added for the new FTC (FIRST Technology Challenge) robot. This includes:
o PC joystick / gamepad control over your robot.
o Integrated firmware device driver for the new HiTechnic servo / motor controller.
o New debugger window for read / write control over servos and the new 12 volt motors.
· Added new drawing function to “invert” and “erase” line between two points. Added new feature to disable the “low voltage” pop up window display. Controlled via the new variable “LowVoltageBatteryCountLimits”. Previously 10 consecutive low battery values caused the low battery pop up window to be displayed. Made this a programmable parameter that is stored in persistent flash. Setting to zero will disable the pop up window.
· Added new preferences page to better control compiler generation of optional warning messages for unreferenced variables.
· Added new preference to move old version of file to “trash” when saving rather than permanently deleting. Default is to move to trash.

Version 1.27
· New features
o Added “erase line” and “invert line” functions
o Added range exception on trying to control invalid servo index.
o Added integrated device drivers for many new I2C sensors. Initial support for HiTechnic color, accelerometer, and compass. More drivers coming soon for devices from Mindsensors.
o Added new “Try Me” programs for
1. Compass
2. Accelerometer.
These programs perform auto detection of the sensor. They scan all sensor ports looking for an appropriate sensor of the desired type. They have nifty graphical display of the sensor values.
· Bug Fixes / Minor Enhancements
o Low battery popup window was sometimes latching up NXT when user program was running. Fixed.

Version 1.25
· New features
o Added “rate of change” adjustment to servo driver to minimize jerkiness on rapid changes of servo. [Note: servo driver only available on some ROBOTC platforms].
o Added range exception on trying to control invalid servo index.
· Bug Fixes / Minor Enhancements
o Timeout on ACK from Bluetooth “close connection” request was too short. It was lengthened.

Version 1.24
· Bug Fixes / Minor Enhancements
o Version 1.23 introduced a bug in the allocation and release of internal temporary variables. Now fixed.
o The error message for “'return' statement required for exit from non 'void' functions” is now associated with the last line of the “invalid” function. Previously it was correctly generating but could appear on any source line within the function.
o Compiler was not properly recognizing ‘enum’ definitions that were not part of a ‘typedef’. This was a feature added in version 1.17.

Version 1.23
· The ROBOTC IDE now remembers the “more / less” settings that expand / shrink several of the debugger windows to provide basic or expanded features.
· Bug Fixes / Minor Enhancements
o Minor bug where existing connection to Bluetooth was not been properly terminated before performing another search for NXT Bluetooth bricks.

Version 1.22
· Significant progress towards a single firmware load that supports both ROBOTC and NXT-G programs! Code for the NXT-G virtual machine has been added to the firmware which has increased in size by approximately 20K bytes. This code is still being debugged and only accessible to a few users.
· The debugger single step mode displays the current line of execution of a user program. If this changed to code in a different file, the debugger will now automatically switch the “view” to the new file.
· Bug Fixes / Minor Enhancements
o Fixed code generation error in accessing “byte” arrays when program contains greater than 256 total bytes of allocated variables. The compiler would sometimes generate code to access a “short” variable rather than a “byte” variable.
o When declaration inside a “for” loop, i.e. “for (int i = 0; i < 10; ++i)” and the statement being “iterated” utilized many temporary variables then the compiler was sometimes not allocating adequate space for the temporary variables.
o When ‘long’ or ‘float’ temporary variables were used by the compiler and their was a previous use of a “short” temporary variable within the same statement the compiler would sometimes fail to allocate inadequate padding space, if required, be

Version 1.20
· Additional platfiorms added to the ROBOTC IDE. These are not visible in the Mindstorms version of ROBOTC.
· Bug Fixes / Minor Enhancements
o Platform type change was not always getting properly written to the registry.
o “Return” key no longer sometimes closing Debugger windows.
o Duplicate variable definition error was correctly generated but sometimes the error was associated with the wrong source code line number.

Version 1.17
· Added capability to generate ROBOTC programs from cell phone ring tones defined with the RTTTL (Ring Tone Text Transfer Language) format.
· Bug Fixes / Minor Enhancements
o Fixed compiler code generation for of arrays and structs as function parameters.
o Corrected code generation within ‘struct’ variables.
o Fixed “task status” display in debugger when multiple tasks are executing.
o Fixed compiler not generating error message when index (i.e. “[<index expression>]”) was unspecified for intrinsic array variable. Compiler was assuming index value 0 and not creating an error.
o When ‘;’ is missing before a ‘}’, then compiler will now generate a warning and automatically “insert” a ‘;’ to allow compilation to proceed.
o Added ‘union’ keyword processing as part of a ‘struct’ definition.
o Partial (and preliminary) support for ‘pointer’ variables and the “->” operator.

Version 1.14
· Bug Fixes / Minor Enhancements
o Added new command to “Revert File”.
o Added option to create a PC disk file of compiled output. This had been requested by several users wanting to build PC based utilities for the NXT using ROBOTC files.

Version 1.13
· Revised and improved help text.
· Added support for CMUCAM2 to IFI versions of ROBOTC. The ROBOTC NXT version also supports CMUCAM cameras that have been hardware hacked to provide a RS-485 high speed sensor port interface instead of standard RS-232.
· Bug Fixes / Minor Enhancements
o Fixed compiler code generation error for boolean negation assignment to same variable (i.e. “boolVar = !boolVar;”)
o Corrected error in NXT “debugPrint” macro.

Version 1.11
· Added new HELP window for displaying detailed information on the built-in variables. Command on the "Help" menu is available to toggle this window on/off.

Author:  Ford Prefect [ Mon May 05, 2008 5:11 am ]
Post subject: 

Thx a lot!
In your post I found a missing log entry:
Quote:
Version 1.17
...
o Fixed compiler code generation for of arrays and structs as function parameters.
o Corrected code generation within ‘struct’ variables.


Could you please be so kind and test my code I posted before by the 1.30 beta?
The related values are displayed on the screen and could easily be checked this way.

task displayValues(){
while(true) {
printXY( 0,60, "in(0 1)");
printXY( 50,60, "%2.0f", Neuron0[0].in[0]); printXY( 70,60, "%2.0f", Neuron0[0].in[1]);
printXY( 0,50, "w (0 1)");
printXY( 50,50, "%2.1f", Neuron0[0].w[0]); printXY( 70,50, "%2.1f", Neuron0[0].w[1]); // FAULTY! shows 0/1, but must be 0.8/1.3 !!!
printXY( 0,40, "net"); printXY(50,40,"%4.1f",Neuron0[0].net); // FAULTY! should change depending on Sensor Values
printXY( 0,30, "dummy"); printXY(50,30,"%4.1f",dummy); // FAULTY! should change depending on Sensor Values
printXY( 0,10, "thr"); printXY(50,10,"%4.1f",Neuron0[0].thr); // FAULTY! shows 1.0, but must be 1.5 !!!
}
return;
}


Here is the code again, just for copy&paste:
simplified code for bug fixing:
Code:
// Neuronales Netz aus 1 Neuron
// LTU = Linear Threshold Unit oder
// Adaline = Adaptive linear element


#define printXY nxtDisplayStringAt

const int nl0 = 20;

const int nd = 20;
const float th = 0.5;
float lbd = 0.2;

float dummy;

//**********************************************************************

typedef struct{
   float in[nd];
   float w[nd];
   float t[nd];
   float net;
   float thr;
   float act;
   float out;
} tNeuron;


tNeuron Neuron0[nl0];  // nl0=20 Neuronen in Eingabeschicht 0

//**********************************************************************

void ResetNeuron(tNeuron &neur){ // alles auf Null
   int d;

   for (d=0; d<nd; d++) {
      neur.in[d]=0;
     neur.w[d]=0;
     neur.t[d]=0;
   }
   neur.net=0;
   neur.thr=th;
   neur.act=0;
   neur.out=0;

}

//**********************************************************************



void initAllNeurons(){              // alle Netz-Neuronen auf Null


  ResetNeuron(Neuron0[0]);

}

//**********************************************************************

float  netPropag(tNeuron neur){      // DOESN'T WORK! [line 61]
  int   j=0;
  float s=0;

  for(j=0;j<nd;j++){
     s+= (neur.in[j]*neur.w[j]);      // gewichtete Summe
  }
  dummy=s;  // global variable to check the value of s
  printXY( 0,20, "s loc"); printXY(50,20,"%4.1f",s);
  return s;
}

//**********************************************************************


void pause() {
   while(true) wait1Msec(50);
}

task displayValues(){
   while(true) {

    printXY( 0,60, "in(0 1)");
    printXY( 50,60, "%2.0f", Neuron0[0].in[0]); printXY( 70,60, "%2.0f", Neuron0[0].in[1]);

    printXY( 0,50, "w (0 1)");
    printXY( 50,50, "%2.1f", Neuron0[0].w[0]);  printXY( 70,50, "%2.1f", Neuron0[0].w[1]); // FAULTY! shows 0/1, but must be 0.8/1.3 !!!

    printXY( 0,40, "net"); printXY(50,40,"%4.1f",Neuron0[0].net); // should change depending on Sensor Values
    printXY( 0,30, "dummy"); printXY(50,30,"%4.1f",dummy);        // should change depending on Sensor Values

    printXY( 0,10, "thr"); printXY(50,10,"%4.1f",Neuron0[0].thr); // FAULTY! shows 1.0, but must be 1.5 !!!

  }
  return;
}

void InitThisNeuronalNet(){
  Neuron0[0].w[0]=0.8;  // [line  99] FAULTY!!!  should be assigned to 0.8, but gets 0.0 !!!!
  Neuron0[0].w[1]=1.3;  // [line 100] FAULTY!!!  should be assigned to 1.3, but gets 1.0 !!!!
  Neuron0[0].thr=1.5;   // [line 101] FAULTY!!!  should be assigned to 1.5, but gets 1.0 !!!!
}

task RefreshNet(){
  while(true){
    Neuron0[0].in[0]=(float)SensorValue(0); // Input 0: Touch-Sensor an S1=0
    Neuron0[0].in[1]=(float)SensorValue(1); // Input 1: Touch-Sensor an S2=1

    Neuron0[0].net=netPropag(Neuron0[0]);   // [line 109] function call - -> [line 61]
  }
  return;
}

task main(){
   SensorType(S1)=SensorTouch;
   SensorType(S2)=SensorTouch;


   InitAllNeurons();
   InitThisNeuronalNet();

   StartTask (displayValues);
   StartTask (RefreshNet);
   pause();
}

thx in advance :D

Author:  tfriez [ Tue May 06, 2008 2:10 pm ]
Post subject: 

With Firmware 0742 that was posted with ROBOTC 1.30 BETA 2... I get this:

Image

Author:  Ford Prefect [ Tue May 06, 2008 2:53 pm ]
Post subject: 

that seems to be fine, thx a lot.
normally I never install any betas, but I think this time I'll gonna take the risk on me ... :wink:

[EDIT:]
really, works fine! 8)
thanks again! :)

Author:  docilio [ Mon Jun 02, 2008 6:51 am ]
Post subject: 

I will try it as soon as possible... seems to be nice.

Thanks

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/