71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python
 | |
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| import json
 | |
| from vestactrl import *
 | |
| import random
 | |
| import sys
 | |
| 
 | |
| real_hw = True
 | |
| 
 | |
| def is_new_content(new, old):
 | |
|     retval = False
 | |
|     for v in zip(new,old):
 | |
|         if v[0] != v[1]:
 | |
|             retval = True
 | |
|             break
 | |
|     return retval
 | |
| 
 | |
| timeouts = 15
 | |
| if real_hw:
 | |
|     print('before init_uart')
 | |
|     sys.stdout.flush()
 | |
|     board_init_uart()
 | |
|     print('after init_uart')
 | |
|     sys.stdout.flush()
 | |
| 
 | |
| last_lines = ['', '', '', '', '', '']
 | |
| 
 | |
| char_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '@', '#', '$', '&', ';', '(', ')', '-', '+', '=', ':', '\'', '\"', '%', ',', '.', '?', '`8', '/', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '`0', '`1', '`2', '`3', '`4', '`5', '`6', '`7']
 | |
| 
 | |
| data = None
 | |
| if((len(sys.argv)) > 1):
 | |
|     c = sys.argv[1]
 | |
|     if c in char_list:
 | |
|         lines = [22*c, 22*c, 22*c, 22*c, 22*c, 22*c]
 | |
|         print(lines)
 | |
|         test_flag = 0
 | |
|         print(lines)
 | |
|         sys.stdout.flush()
 | |
|         row_num = len(lines)
 | |
| 
 | |
|         if row_num > 6:
 | |
|             print('* * * * *\nERROR: Too many rows; cannot send your message to the board. Sorry!\n* * * * *')
 | |
| 
 | |
|         if row_num < 7:
 | |
|             row_len_flag = 0
 | |
|             for i in range(row_num):
 | |
|                 row_string = lines[i]
 | |
|                 row_len = len(row_string) - row_string.count('`')
 | |
|                 if row_len > 22:
 | |
|                     row_len_flag = 1
 | |
|                     print('* * * * *\nERROR: Too many characters in row %d; cannot send your message to the board. Sorry!\n* * * * *') % i
 | |
|             if row_len_flag == 0:
 | |
|                 print('*** Jolly good! Message format valid. ***')
 | |
|                 sys.stdout.flush()
 | |
|                 if lines and is_new_content(lines, last_lines):
 | |
|                     print('before setup digits')
 | |
|                     sys.stdout.flush()
 | |
|                     setup_digits(lines, left_to_right_swap=False, real_hw=real_hw)
 | |
|                     print('after setup digits')
 | |
|                     sys.stdout.flush()
 | |
|                     last_lines = lines
 | |
|                     print('Waiting for bits to change...')
 | |
|                     sys.stdout.flush()
 | |
|                     time.sleep(6)
 | |
|                     print('Click \"Next Flap\" to continue.')
 | |
|                     sys.stdout.flush()
 | |
|     else:
 | |
|         print("Invalid character selection... try again.")
 | |
| else:
 | |
|     print("No argument fed to script... try again.") |