function switch_off($i, &$in_states, &$in_programs, &$in_levels) { $in_states = substr_replace($in_states, '00', $i * 2, 2); send_io_input_level_event_message($i, $in_states, $in_levels); send_io_input_program_event_message($i, $in_states, $in_programs); return 1; }
//if($os!=$out_states) set_outputs($os); //set the hardware outputs for ($i = 0; $i < OUT_PINS; $i++) { if (substr($os, $i * 2, 2) != substr($out_states, $i * 2, 2)) { send_io_output_binary_event_message($i, $os); //light $outputs_changed = 1; } } for ($i = 0; $i < IN_PINS; $i++) { if (substr($is, $i * 2, 2) != substr($in_states, $i * 2, 2) or substr($il, $i * 2, 2) != substr($in_levels, $i * 2, 2)) { send_io_input_level_event_message($i, $is, $il); //switch state and level $inputs_changed = 1; } if (substr($ip, $i * 2, 2) != substr($in_programs, $i * 2, 2)) { send_io_input_program_event_message($i, $is, $ip); //switch program $inputs_changed = 1; } } } //update internal state variables after any changes if ($outputs_changed) { $out_states = $os; } if ($inputs_changed) { $in_states = $is; $in_programs = $ip; $in_levels = $il; } //if any internal state changed, either by hardware input or via shm then save state file