Changes

Jump to navigation Jump to search
120 bytes added ,  10:36, 25 March 2015
no edit summary
Line 32: Line 32:  
<nowiki>
 
<nowiki>
 
sub runtrials_national begin
 
sub runtrials_national begin
# The dio_device will setup NI-DAQmx device number 1 "Dev1"
+
 
dio_device card = new dio_device(ni_dio_device, 1, 0 );
+
# The dio_device will setup NI-DAQmx device number 1 "Dev1"
#int id = card.acquire_analog_input( "MyVoltageOutTask" );
+
dio_device card = new dio_device(ni_dio_device, 1, 0 );
int id1 = card.acquire_analog_input( "ForceMeasurement,Voltage_0" );
+
#int id = card.acquire_analog_input( "MyVoltageOutTask" );
int id2 = card.acquire_analog_input( "ForceMeasurement,Voltage_1" );
+
int id1 = card.acquire_analog_input( "ForceMeasurement,Voltage_0" );
int id3 = card.acquire_analog_input( "ForceMeasurement,Voltage_2" );
+
int id2 = card.acquire_analog_input( "ForceMeasurement,Voltage_1" );
int id4 = card.acquire_analog_input( "ForceMeasurement,Voltage_3" );
+
int id3 = card.acquire_analog_input( "ForceMeasurement,Voltage_2" );
count_old = response_manager.total_response_count();
+
int id4 = card.acquire_analog_input( "ForceMeasurement,Voltage_3" );
loop
+
count_old = response_manager.total_response_count();
until false
+
loop
begin
+
until false
if response_manager.total_response_count() > count_old then
+
begin
count_old = response_manager.total_response_count();
+
if response_manager.total_response_count() > count_old then
calibrate_board = true;
+
count_old = response_manager.total_response_count();
end;
+
calibrate_board = true;
message_scale[1] = round(round(card.read_analog( id1, 1000.0 ),6) * 1000.0, 0);
+
end;
message_scale[2] = round(round(card.read_analog( id2, 1000.0 ),6) * 1000.0, 0);
+
message_scale[3] = round(round(card.read_analog( id3, 1000.0 ),6) * 1000.0, 0);
+
message_scale[1] = round(round(card.read_analog( id1, 1000.0 ),6) * 1000.0, 0);
message_scale[4] = round(round(card.read_analog( id4, 1000.0 ),6) * 1000.0, 0);
+
message_scale[2] = round(round(card.read_analog( id2, 1000.0 ),6) * 1000.0, 0);
if calibrate_board then
+
message_scale[3] = round(round(card.read_analog( id3, 1000.0 ),6) * 1000.0, 0);
zero_scale_left_up = message_scale[left_up];
+
message_scale[4] = round(round(card.read_analog( id4, 1000.0 ),6) * 1000.0, 0);
zero_scale_left_down = message_scale[left_down];
+
zero_scale_right_up = message_scale[right_up];
+
if calibrate_board then
zero_scale_right_down = message_scale[right_down];
+
zero_scale_left_up   = message_scale[left_up];
calibrate_board = false;
+
zero_scale_left_down = message_scale[left_down];
end;
+
zero_scale_right_up   = message_scale[right_up];
message_scale[left_up] = message_scale[left_up] - zero_scale_left_up;
+
zero_scale_right_down = message_scale[right_down];
message_scale[left_down] = message_scale[left_down] - zero_scale_left_down;
+
calibrate_board = false;
message_scale[right_up] = message_scale[right_up] - zero_scale_right_up;
+
end;
message_scale[right_down] = message_scale[right_down] - zero_scale_right_down;
+
t_scale11.set_caption(string(message_scale[left_up]));
+
message_scale[left_up]   = message_scale[left_up] - zero_scale_left_up;
t_scale11.redraw();
+
message_scale[left_down] = message_scale[left_down] - zero_scale_left_down;
t_scale22.set_caption(string(message_scale[left_down]));
+
message_scale[right_up]   = message_scale[right_up] - zero_scale_right_up;
t_scale22.redraw();
+
message_scale[right_down] = message_scale[right_down] - zero_scale_right_down;
t_scale33.set_caption(string(message_scale[right_up]));
+
t_scale11.set_caption(string(message_scale[left_up]));
t_scale33.redraw();
+
t_scale11.redraw();
t_scale44.set_caption(string(message_scale[right_down]));
+
t_scale22.set_caption(string(message_scale[left_down]));
t_scale44.redraw();
+
t_scale22.redraw();
pos_dot_x = (message_scale[right_up] + message_scale[right_down]) - message_scale[left_up] + message_scale[left_down]);
+
t_scale33.set_caption(string(message_scale[right_up]));
pos_dot_y = (message_scale[left_up] + message_scale[right_up]) - message_scale[left_down] + message_scale[right_down]);
+
t_scale33.redraw();
p_balance.add_part( balance_pos, (pos_dot_x * 1.0), (pos_dot_y * 1.0));
+
t_scale44.set_caption(string(message_scale[right_down]));
t_coord.set_caption(string(pos_dot_x)+","+string(pos_dot_y));
+
t_scale44.redraw();
t_coord.redraw();
+
p_balance.present();
+
pos_dot_x = (message_scale[right_up] + message_scale[right_down]) - message_scale[left_up] + message_scale[left_down]);
p_balance.remove_part( 8 );
+
pos_dot_y = (message_scale[left_up] + message_scale[right_up]) - message_scale[left_down] + message_scale[right_down]);
end;
+
p_balance.add_part( balance_pos, (pos_dot_x * 1.0), (pos_dot_y * 1.0));
card.release_analog_input( id1 );
+
t_coord.set_caption(string(pos_dot_x)+","+string(pos_dot_y));
card.release_analog_input( id2 );
+
t_coord.redraw();
card.release_analog_input( id3 );
+
card.release_analog_input( id4 );
+
p_balance.present();
 +
p_balance.remove_part( 8 );
 +
end;
 +
card.release_analog_input( id1 );
 +
card.release_analog_input( id2 );
 +
card.release_analog_input( id3 );
 +
card.release_analog_input( id4 );
 
end;
 
end;
 
</nowiki>
 
</nowiki>
    
== Python software ==
 
== Python software ==

Navigation menu