Paso 4: uso
Cómo utilizar PUB!
Se trata de un trabajo en progreso. Creo que podría mejorarse por prensa minimizar + girar las interacciones cuando sea posible.
El proceso básico es:
- Conecte el PUB! a un puerto USB en su computadora
- Inicie Bloc de notas (en Windows) o gedit (en Linux)
- Asegúrese de que el Bloc de notas/gedit tiene el foco del teclado. Esto es realmente importante.
- Presione y mantenga presionado PUB!' botón s para aproximadamente un segundo
- PUB! mostrará una especie de menú en Bloc de notas/gedit (por esta razón su editor de texto debe tener el foco de teclado)
- Navegando por el menú se realiza por una combinación de tecla, empujando y girando el botón, girar el botón, o empujando y sosteniendo el botón durante 1 segundo o más. El menú muestra Cuándo usar estas alternativas.
Ejemplo de programación una contraseña
- Abra un programa (por ejemplo, gedit o Bloc de notas) de edición de texto y asegúrese de que tiene el foco de teclado
- Enchufe PUB! en un host puerto USB
- Por defecto está en modo RUN, así que mantenga oprimida la perilla de codificador rotatorio durante más de 1 segundo cambiar al modo de programa. Mostrará lo siguiente en su editor de texto:
PUB! Programmable USB Button v0.92 Main: Turn=Select, Press=OK, Press+Turn=Set At, Press+Hold=Exit 0 Set Keystroke at 00 At Code Action
- Presione el botón giratorio para ajustar una pulsación de tecla. Mostrará:
PUB! Programmable USB Button v0.92 Key: Turn=Select, Press+Turn=Modify, Press=OK, Press+Hold=Return 00 0004 a At Code Action
- Gire el mando para elegir la primera letra de su contraseña (decir c) y luego presione el botón para añadir a la lista de acciones:
PUB! Programmable USB Button v0.92 Key: Turn=Select, Press+Turn=Modify, Press=OK, Press+Hold=Return 01 0006 c At Code Action 00 0006 c
- Siguen eligiendo y agregando las letras restantes (decir, a y t):
PUB! Programmable USB Button v0.92 Key: Turn=Select, Press+Turn=Modify, Press=OK, Press+Hold=Return 03 0017 t At Code Action 00 0006 c 01 0004 a 02 0017 t
- Presione y sostenga el botón giratorio para volver al menú principal:
PUB! Programmable USB Button v0.92 Main: Turn=Select, Press=OK, Press+Turn=Set At, Press+Hold=Exit 0 Set Keystroke at 03 At Code Action 00 0006 c 01 0004 a 02 0017 t
- Gire la perilla hasta que aparezca "Hacer función Local":
PUB! Programmable USB Button v0.92 Main: Turn=Select, Press=OK, Press+Turn=Set At, Press+Hold=Exit 0 Do Local Function at 03 At Code Action 00 0006 c 01 0004 a 02 0017 t
- Presione el botón para entrar en el menú de "Do":
PUB! Programmable USB Button v0.92 Do: Turn=Modify, Press=OK, Press+Turn=Set At, Press+Hold=Exit 0 Delete action at 00 At Code Action 00 0006 c 01 0004 a 02 0017 t
- Presione y gire la perilla en sentido antihorario hasta "Guardar en EEPROM" aparece:
PUB! Programmable USB Button v0.92 Do: Turn=Modify, Press+Turn=Select, Press=OK, Press+Hold=Return Save to EEPROM At Code Action 00 0006 c 01 0004 a 02 0017 t
- Presione el botón para guardar el "gato" en la EEPROM
Saved in EEPROM
- El dispositivo está en modo RUN. Presione el botón de "play" de la secuencia grabada:
cat
Un ejemplo de alguna lógica condicional
- Escriba el siguiente programa en el PUB! dispositivo de:
At Code Action 00 E005 Let W = 05 01 E200 Put W in R00 02 0006 c 03 0004 a 04 0017 t 05 002C Space 06 E500 Say R00 07 0028 Enter 08 EF01 Wait 1 sec 09 E801 Let W = W - 01 0A F701 Jump if Not Zero to 01
- Ahora al pulsar el botón en modo de ejecución debería ver el siguiente pantalla (1 segundo) esperar entre líneas:
cat 05 cat 04 cat 03 cat 02 cat 01 05 RUN mode This is the normal operation mode Press to begin playback Press and hold to enter PROGRAM mode PROGRAM mode Main menu 0 Set Keystroke (e.g. A, Enter) 0mxx Keystroke xx using modifier m Rotate to select xx (e.g. A) Press+Rotate to select m (e.g. CTL+SHIFT) (too many to list them all here) 1 Set System Control Command (e.g. power off) 1mxx System Control Command xx (m is ignored) Rotate to select xx 2 Set Consumer Device Command (e.g. play, pause) 2xxx Consumer Device Command xxx Rotate to select xxx D Do Local Function D0xx Delete action at xx D1xx Redisplay (xx is ignored) DExx Load from EEPROM (xx is ignored) DFxx Save to EEPROM (xx is ignored) E Execute Instruction E0xx Let W = xx E1xx Get W from Rxx E2xx Put W in Rxx E3xx Compare W to xx E4xx Compare W to Rxx E5xx Say Rxx E6xx Format xx (display format that Say uses) E7xx Let W = W + xx E8xx Let W = W - xx E9xx Set all registers to xx EAxx Let W = W + Rxx EBxx Let W = W - Rxx ECxx Let W = W x Rxx EDxx Let W = W / Rxx EExx Wait xx milliseconds EFxx Wait xx seconds F Jump On Condition F0xx Jump Relative by xx F1xx Jump if Carry to xx F2xx Jump if High to xx F3xx Jump if High or Carry to xx F4xx Jump if Low to xx F5xx Jump if Low or Carry to xx F6xx Jump if Not Zero or Carry to xx F7xx Jump if Not Zero to xx F8xx Jump if Zero to xx F9xx Jump if Zero or Carry to xx FAxx Jump if Not Low or Carry to xx FBxx Jump if Not Low to xx FCxx Jump if Zero or Low to xx FDxx Jump if Not High to xx FExx Jump if Not Carry to xx FFxx Jump to xx 04 ZHLC 100x Means: Zero 010x Means: High 001x Means: Low xxx1 Means: Carry set (not actually implemented yet...) xxx0 Means: No carry (...may be discarded as a bad idea) 03 F8xx F = 0b1111 = Jump on Condition 8 = 0b1000 = Zero condition xx = Address jumped to if the condition is true 02 FFxx F = 0b1111 = Jump on Condition F = 0b1111 = Zero, Low, High or Carry condition (it must be one of these) xx = Address jumped to if the condition is true (which it always will be)
Tenga en cuenta que pulsando el botón durante la reproducción se anulará el proceso de reproducción.
Funciones del menú
Los menús, si se expande completamente, tendría este aspecto:
El "código de condición" se fija después de cada aritmética o comparar la operación, en una manera no desconocidos para los antiguos programadores de mainframe de IBM (totalmente coincidentes por supuesto) como sigue:
Por lo tanto, saltar si cero se codifica como:
Y salto incondicional se codifica como: