Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. macro_rules! integer_input {
  2. ( $($name:ident, $name_string:expr);+ ) => {
  3. $(
  4. /// Represents input_int_register_$i. Its meaning depends on the
  5. /// programming stored in the robot.
  6. pub struct $name {
  7. /// The new value for the input register.
  8. pub value: i32,
  9. }
  10.  
  11. impl CommandField for $name {
  12. fn name(&self) -> &'static str {
  13. $name_string
  14. }
  15.  
  16. fn size(&self) -> usize {
  17. size_of::<i32>()
  18. }
  19.  
  20. fn serialize(&self, buf: &mut [u8]) {
  21. NetworkEndian::write_i32(&mut buf[0..4], self.value)
  22. }
  23. }
  24. )+
  25. };
  26. }
  27.  
  28. integer_input!(
  29. IntegerInputRegister1, "integer_input_register1";
  30. IntegerInputRegister2, "integer_input_register2";
  31. IntegerInputRegister3, "integer_input_register3";
  32. IntegerInputRegister4, "integer_input_register4"
  33. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement