def get_status(request): CONN.write(b'H100000F') resp = CONN.read(4) status = { 'machineStatus': 'AUTO' if resp[1] else 'Manual', 'boardCount': 0, 'errorsFound': 0 } return JsonResponse(status)
def get_register_positions(request): data = json.loads(request.body) CONN.write( bytes([72, 39, int(data['unitOne']), int(data['unitTwo']), 0, 0, 70])) resp = CONN.read(1) return JsonResponse({'status': 'ok'})
def get_snapshot(request): myfile = request.FILES['snapshot'] fs = FileSystemStorage() filename = fs.save(myfile.name, myfile) update_event('snapshot {} uploaded'.format(filename)) ed = ErrorDetector('media/' + filename) ed.run() print(ed.error) update_event('{} error detected'.format(ed.error)) if ed.error: CONN.write(bytes([72, 39, ed.error, ed.error, 0, 0, 70])) resp = CONN.read(1) return JsonResponse({'status': 'ok'})
def set_color_setpoint(request): #message of three bytes #rgb must be less than 256 # message code 8 corresponds to int 56 color_data = json.loads(request.body) print(color_data) msg = [ HEADER, 56, int(color_data['red']), int(color_data['green']), int(color_data['blue']), 0, 0, FOOTER ] CONN.write(bytes(msg)) resp = CONN.read(1) print(resp) return JsonResponse({'status': 'ok'})
def get_color_status(request): CONN.write(b'H200000F') resp = CONN.read(6) while not resp[1] == HEADER and resp[5] == FOOTER: red = int(codecs.encode(resp[2], 'hex')) green = int(codecs.encode(resp[3], 'hex')) blue = int(codecs.encode(resp[4], 'hex')) status = { 'status': 'Auto' if resp[1] else 'Manual', 'currentColor': { 'red': red, 'green': green, 'blue': blue } } resp = CONN.read(6) return JsonResponse(status)
def toggle_color_mode(request): update_event('Color mode toggled') CONN.write(b'H400000F') resp = CONN.read(1) print(resp) return JsonResponse({'status': 'ok'})
def toggle_machine_mode(request): update_event('Machine mode toggled') CONN.write(b'H300000F') resp = CONN.read(1) print(resp) return JsonResponse({'status': 'ok'})
def toggle_printer(request): CONN.write(b'H700000F') resp = CONN.read(1) print(resp) return JsonResponse({'status': 'ok'})
def toggle_base_valve(request): CONN.write(b'H600000F') resp = CONN.read(1) print(resp) return JsonResponse({'status': 'ok'})