addition of robots variable inside BVM and for updates barrier
This commit is contained in:
parent
29b234cd9d
commit
4c1c3dff43
|
@ -73,7 +73,7 @@ void update_routine(const char* bcfname,
|
||||||
/************************************************/
|
/************************************************/
|
||||||
/*Initalizes the updater */
|
/*Initalizes the updater */
|
||||||
/************************************************/
|
/************************************************/
|
||||||
void init_update_monitor(const char* bo_filename,const char* stand_by_script,int barrier);
|
void init_update_monitor(const char* bo_filename,const char* stand_by_script);
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
|
@ -129,4 +129,6 @@ int get_update_status();
|
||||||
|
|
||||||
void set_read_update_status();
|
void set_read_update_status();
|
||||||
|
|
||||||
|
void updates_set_robots(int robots);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -52,4 +52,6 @@ int update_step_test();
|
||||||
uint16_t get_robotid();
|
uint16_t get_robotid();
|
||||||
|
|
||||||
buzzvm_t get_vm();
|
buzzvm_t get_vm();
|
||||||
|
|
||||||
|
void set_robot_var(int ROBOTS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ static int neigh=-1;
|
||||||
static int updater_msg_ready ;
|
static int updater_msg_ready ;
|
||||||
static int updated=0;
|
static int updated=0;
|
||||||
|
|
||||||
void init_update_monitor(const char* bo_filename, const char* stand_by_script,int barrier){
|
void init_update_monitor(const char* bo_filename, const char* stand_by_script){
|
||||||
fprintf(stdout,"intiialized file monitor.\n");
|
fprintf(stdout,"intiialized file monitor.\n");
|
||||||
fd=inotify_init1(IN_NONBLOCK);
|
fd=inotify_init1(IN_NONBLOCK);
|
||||||
if ( fd < 0 ) {
|
if ( fd < 0 ) {
|
||||||
|
@ -91,7 +91,7 @@ void init_update_monitor(const char* bo_filename, const char* stand_by_script,in
|
||||||
*(size_t*)(updater->standby_bcode_size)=stdby_bcode_size;
|
*(size_t*)(updater->standby_bcode_size)=stdby_bcode_size;
|
||||||
updater->mode=(int*)malloc(sizeof(int));
|
updater->mode=(int*)malloc(sizeof(int));
|
||||||
*(int*)(updater->mode)=CODE_RUNNING;
|
*(int*)(updater->mode)=CODE_RUNNING;
|
||||||
no_of_robot=barrier;
|
//no_of_robot=barrier;
|
||||||
updater_msg_ready=0;
|
updater_msg_ready=0;
|
||||||
//neigh = 0;
|
//neigh = 0;
|
||||||
//updater->outmsg_queue=
|
//updater->outmsg_queue=
|
||||||
|
@ -444,6 +444,11 @@ close(fd);
|
||||||
void set_bzz_file(const char* in_bzz_file){
|
void set_bzz_file(const char* in_bzz_file){
|
||||||
bzz_file=in_bzz_file;
|
bzz_file=in_bzz_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void updates_set_robots(int robots){
|
||||||
|
no_of_robot=robots;
|
||||||
|
}
|
||||||
|
|
||||||
void collect_data(){
|
void collect_data(){
|
||||||
//fprintf(stdout,"start and end time in data collection Info : %f,%f",(double)begin,(double)end);
|
//fprintf(stdout,"start and end time in data collection Info : %f,%f",(double)begin,(double)end);
|
||||||
double time_spent = (t2.tv_sec - t1.tv_sec) * 1000.0; //(double)(end - begin) / CLOCKS_PER_SEC;
|
double time_spent = (t2.tv_sec - t1.tv_sec) * 1000.0; //(double)(end - begin) / CLOCKS_PER_SEC;
|
||||||
|
|
|
@ -548,6 +548,11 @@ buzzvm_t get_vm(){
|
||||||
return VM;
|
return VM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set_robot_var(int ROBOTS){
|
||||||
|
buzzvm_pushs(VM, buzzvm_string_register(VM, "ROBOTS", 1));
|
||||||
|
buzzvm_pushi(VM, ROBOTS);
|
||||||
|
buzzvm_gstore(VM);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace rosbzz_node{
|
||||||
/* Set the Buzz bytecode */
|
/* Set the Buzz bytecode */
|
||||||
if(buzz_utility::buzz_script_set(bcfname.c_str(), dbgfname.c_str(),robot_id)) {
|
if(buzz_utility::buzz_script_set(bcfname.c_str(), dbgfname.c_str(),robot_id)) {
|
||||||
fprintf(stdout, "Bytecode file found and set\n");
|
fprintf(stdout, "Bytecode file found and set\n");
|
||||||
init_update_monitor(bcfname.c_str(),stand_by.c_str(),barrier);
|
init_update_monitor(bcfname.c_str(),stand_by.c_str());
|
||||||
while (ros::ok() && !buzz_utility::buzz_script_done())
|
while (ros::ok() && !buzz_utility::buzz_script_done())
|
||||||
{
|
{
|
||||||
/*Update neighbors position inside Buzz*/
|
/*Update neighbors position inside Buzz*/
|
||||||
|
@ -72,6 +72,10 @@ namespace rosbzz_node{
|
||||||
set_read_update_status();
|
set_read_update_status();
|
||||||
multi_msg=true;
|
multi_msg=true;
|
||||||
}
|
}
|
||||||
|
/*Set ROBOTS variable for barrier in .bzz from neighbours count*/
|
||||||
|
buzz_utility::set_robot_var(neighbours_pos_map.size());
|
||||||
|
/*Set no of robots for updates*/
|
||||||
|
updates_set_robots(neighbours_pos_map.size());
|
||||||
/*run once*/
|
/*run once*/
|
||||||
ros::spinOnce();
|
ros::spinOnce();
|
||||||
/*loop rate of ros*/
|
/*loop rate of ros*/
|
||||||
|
@ -81,6 +85,7 @@ namespace rosbzz_node{
|
||||||
timer_step+=1;
|
timer_step+=1;
|
||||||
maintain_pos(timer_step);
|
maintain_pos(timer_step);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
/* Destroy updater and Cleanup */
|
/* Destroy updater and Cleanup */
|
||||||
//update_routine(bcfname.c_str(), dbgfname.c_str(),1);
|
//update_routine(bcfname.c_str(), dbgfname.c_str(),1);
|
||||||
|
|
Loading…
Reference in New Issue