View unanswered posts | View active topics It is currently Wed Aug 20, 2014 5:02 am






Reply to topic  [ 13 posts ] 
ROBOTC 1.30 BETA 2 Release 
Author Message
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:42 am
Posts: 602
Post 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

_________________
Timothy Friez
ROBOTC Developer - SW Engineer
tfriez@robotc.net


Last edited by tfriez on Thu May 22, 2008 4:39 pm, edited 1 time in total.



Tue Apr 29, 2008 4:51 pm
Profile
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post 
which of the reported bugs are fixed with this beta?

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Tue Apr 29, 2008 5:35 pm
Profile
Expert
User avatar

Joined: Fri Nov 09, 2007 4:51 am
Posts: 121
Location: Hungary, Europe
Post 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.


Wed Apr 30, 2008 3:48 am
Profile
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post 
again:
what's new in 1.30 beta?

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Wed Apr 30, 2008 4:02 pm
Profile
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:42 am
Posts: 602
Post 
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.

_________________
Timothy Friez
ROBOTC Developer - SW Engineer
tfriez@robotc.net


Wed Apr 30, 2008 4:08 pm
Profile
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post 
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?

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Wed Apr 30, 2008 6:31 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Jan 31, 2007 3:39 am
Posts: 299
Location: San Diego, California. USA
Post 
You will get a reply from the bug tracker when your bugs have been fixed.

Scott

_________________
Mmmm Legos B-)

My Robot Projects:
http://www.freewebs.com/robotprojects/


Thu May 01, 2008 3:37 pm
Profile WWW
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post 
so I guess I understand you right that the structure bugs not having been fixed yet?

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Thu May 01, 2008 5:28 pm
Profile
Expert
User avatar

Joined: Fri Nov 09, 2007 4:51 am
Posts: 121
Location: Hungary, Europe
Post 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.


Sun May 04, 2008 3:42 pm
Profile
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post 
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

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Last edited by Ford Prefect on Tue May 06, 2008 2:29 pm, edited 1 time in total.



Mon May 05, 2008 5:11 am
Profile
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:42 am
Posts: 602
Post 
With Firmware 0742 that was posted with ROBOTC 1.30 BETA 2... I get this:

Image

_________________
Timothy Friez
ROBOTC Developer - SW Engineer
tfriez@robotc.net


Tue May 06, 2008 2:10 pm
Profile
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post 
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! :)

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Tue May 06, 2008 2:53 pm
Profile
Expert

Joined: Sun Sep 09, 2007 10:12 am
Posts: 116
Post 
I will try it as soon as possible... seems to be nice.

Thanks

_________________
http://www.apcsguarda.com
My Project: http://www.robotc.net/forums/viewtopic.php?f=15&t=712


Mon Jun 02, 2008 6:51 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 13 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.