Example

From Proview Wiki
Revision as of 04:23, 21 August 2013 by Marc (Talk | contribs)

Jump to: navigation, search

Proview Designer's Guide Chapter 13

Open Proview
* Ctrl+E
* MB1 $Hier
* MB2 right panel
* right key on Oxx $Hier
* ObjectName application
* MB1 ProjectReg
* MB2 in application $Hier
* right key on Oxx $ProjectReg
* ObjectName cpp
* Ctrl+E
* Yes
* Yes
* MB3 cpp Open Project...
* Next
* Next
* No
* Next
* Next
* Next
* Next
* Yes
Configure RootVolume
* Next
* Next
* Next

* MB1 Plant -> $PlantHier
* MB2 right panel
* right key on Oxx $PlantHier
* ObjectName plant
* MB1 AllClases -> pwrb -> XyCurve
* MB2 in plant $PlantHier
* right key on Oxx XyCurve
* ObjectName curve
* Ctrl+E
* Yes

/usr/local/pwrp/cpp/src/appl/ra_myappl.cpp
 <nowiki>
#include <math.h>
#include "pwr.h"
#include "pwr_baseclasses.hpp"
#include "rt_gdh.h"


class ra_myappl {
 pwr_Class_XyCurve *curve_ptr;
 pwr_tRefId dlid;
public:
 ra_myappl() {}
 void init();
 void scan();
 void close();
};

void ra_myappl::init()
{
 pwr_tStatus sts;
 pwr_tOName name = "plant-curve";
 
 // Connect to database
 sts = gdh_Init( "ra_myappl");
 if ( EVEN(sts)) exit(0);

 // Direct link to curve object
 sts = gdh_RefObjectInfo( name, (void **)&curve_ptr, &dlid, sizeof(*curve_ptr));
 if ( EVEN(sts)) exit(0);
}

void ra_myappl::scan()
{
 for ( unsigned int i = 0;;i++) {
  if ( i % 5 == 0) {
   // Calculate x and y coordinates for a sine curve every fifth second
   for ( int j = 0; j < 100; j++) {
    curve_ptr->XValue[j] = j;
    curve_ptr->YValue[j] = 50 + 50 * sin( 2.0 * M_PI * (j + i) / 100);
   }
   // Indicate new curve to graph
   curve_ptr->Update = 1;
 }
 else if ( i % 5 == 2)
  curve_ptr->Update = 0;
 sleep(1);
 if ( i > 360)
  i = 0;
 }
}

void ra_myappl::close()
{
 gdh_UnrefObjectInfo( dlid);
}


int main()
{
 ra_myappl myappl;
 
 myappl.init();
 myappl.scan();
 myappl.close();
}

</nowiki>


On terminal

 $ sdf cpp
 $ cd /usr/local/pwrp/cpp/src/appl/
 $ g++ -g -c ra_myappl.cpp -o $pwrp_obj/ra_myappl.o -I$pwr_inc -DOS_LINUX=1 -DOS=linux -DHW_X86=1 -DHW=x86
 $ g++ -g -o $pwrp_exe/ra_myappl $pwrp_obj/ra_myappl.o $pwr_obj/pwr_msg_rt.o -L$pwr_lib -lpwr_rt -lpwr_co -lpwr_msg_dummy -lrt


On proview
* Shift+Ctrl+B Node + B
* Tools -> Runtime Monitor
* Start Runtime
* File -> Start Runtime Navigator
* right key Database
* right key plant
* MB3 curve Object Graph


On terminal
 $ ra_myappl

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox