Advertisement
mmu_man

CMS50F length test 2

Aug 18th, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. # Contec CMS 50F firmware 3.7 sample duration test
  4.  
  5.  
  6. data = [
  7. dict(a='08 80 80 80 a4 80 80 80', l=6),
  8. dict(a='08 80 80 80 d2 80 80 80', l=14),
  9. dict(a='08 80 80 80 c8 80 80 80', l=12),
  10. dict(a='08 84 80 80 ca 80 80 80', l=34),
  11. dict(a='08 80 80 80 a2 80 80 80', l=6),
  12. dict(a='08 80 80 80 a4 81 80 80', l=49),
  13. dict(a='08 84 80 80 98 80 80 80', l=26),
  14. dict(a='08 84 80 80 c2 80 80 80', l=33),
  15. dict(a='08 84 80 80 d2 84 80 80', l=206),
  16. dict(a='08 84 80 80 aa 81 80 80', l=71),
  17. dict(a='08 80 80 80 90 80 80 80', l=3),
  18. dict(a='08 84 80 80 84 80 80 80', l=22),
  19. dict(a='08 84 80 80 c0 93 80 80', l=843)
  20. ];
  21.  
  22. print data
  23.  
  24. for entry in data:
  25.     d=entry['a'].replace(' ', '').decode("hex")
  26.     bytes = [ord(d[i]) for i in range(0, len(d) - 1)]
  27.     print bytes
  28.  
  29.     duration = ( ( (bytes[1] & 4) << 5)  | (bytes[4] ^ 0x80) | ((bytes[5] ^ 0x80) << 8));
  30.  
  31.     bit = duration % 2;
  32.     duration /= 2;
  33.  
  34.     print "d: %d l: %d b: %d" % (duration, entry['l'] * 3, bit)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement