¡ Bienvenidos al curso 2018-2019 !

Tutor:

Carlos Rodríguez Jaso (Matemáticas)

Equipo Educativo:

  • BIO2: ORTEGA PEÑA, M. ELENA
  • EF1: TURÓN MARCO, YOLANDA
  • ING1: GONZALEZ GARCIA, DANIEL
  • TEC1: TELLA VICENTE, M. ESPERANZA

Horario:

Algunas consideraciones

  • ESO $\neq$ BACHILLERATO
    • OBJETIVO DE LA ESO: Formar ciudadanos
    • OBJETIVO DEL BACHILLERATO: Preparar EvAU
  • Muchos contenidos, ritmo mayor, imposibilidad de retraso en programaciones
  • Disciplina: Expulsión de clase, a casa
  • Exámenes finales de evaluación:
    • Suspensión de clases: Los exámenes se hacen en jueves, viernes, lunes y martes anteriores a la evaluación
      • 1ª evaluación: 29, 30 de noviembre y 3, 4 de diciembre (por el puente)
      • 2ª evaluación: 7, 8 de marzo y 11, 12 de marzo
    • El orden de los exámenes lo elige el grupo colectivamente
    • Posibilidad de penalizar la ausencia a clase en otras fechas para preparar exámenes o controles
  • Para el lunes, 8 euros (justos). El viernes se reparten los cuadernillos de matemáticas

Antes de empezar, al final del documento vienen las referencias a la documentación de donde saqué la información. Conviene que le eches un vistazo antes de nada.

Requisitos previos

  • ANTLR
$ pip3 install antlr4-python3-runtime
  • SymPy 1.2 (las versiones anteriores no tienen la librería para “parsear” latex)
$ pip3 install -U sympy

Uso de la función parse_latex

Importamos la función parse_latex:

from sympy.parsing.latex import parse_latex

Solo nos queda pasar un string con la expresión LaTeX para que la función devuelva la expresión en código entendible por Sympy. NOTA: El string conviene pasarlo en formato “raw string literal”

Ejemplo:

parse_latex(r'\frac{x^2}{\sqrt{y}}')
x**2/sqrt(y)

Referencias:


Arrancar desde un usb

Pulsando ESC al encender accedemos a un menú que nos permite arrancar desde el USB.

Primer problema: La wifi

Realtek y su hardware propietario. El caso es que la instalación no la reconoce.

Seguí el siguiente enlace. De los dos métodos, el DKM porque el otro fallaba (había que modificar las fuentes para el kernel 4.15).

Además para poder activar el módulo tuve que desabilitar el secure boot de la BIOS (Con F10)


A veces me pasa que quiero hacer una pequeña modificación de un documento \LaTeX desde un ordenador conectado a internet y ver reflejado ese cambio en el pdf. Desde GitHub no podemos compilar la modificación.

Sin embargo, desde https://latexonline.cc/ podremos salir del paso, solo tendremos que poner la ruta de enlace al fichero .tex modificado desde el navegador.

Luego cuando tenga acceso a mi ordenador habitual ya haré el git pull correspondiente


Grupo Enlace
Jolly Phonics https://youtu.be/-ksblMiliA8
Starfall (solo en ordenador, si no, bajar app) http://more2.starfall.com/n/level-a/learn-to-read/load.htm
LearnEnglishKids - British Council Short stories
video zone
Alphalocks ver app en tableta
Now I Know My ABC
Phonics, Learn to Read. Word Magic
Tricky words ver app en tableta
missruth

En este artículo voy a escribir cómo he configurado retropie para que funcione con dos mandos wiimote y con una pantalla waveshare 3.2”. Además le he puesto kodi y al poner kodi he puesto mandos snes para que me funcione.

Touchscreen

El resumen de lo que aparece luego para hacerlo funcionar está en que si quiero que se vea en el touchscreen añado a /boot/config.txt

#Waveshare 3.2 TFT Screen
#same resolution for hdmi and tft
# dejar com hdmi_force_hotplug=1
# dejar com hdmi_ignore_hotplug=1
hdmi_cvt=320 240 60 1 0 0 0
hdmi_group=2
hdmi_mode=1
hdmi_mode=87

disable_overscan=1

dtparam=spi=on
dtoverlay=waveshare32b:rotate=270,speed=82000000,fps=60

Y si quiero que se vea en la tv comento todas las líneas anteriores, para que cargue el config.txt que viene por defecto.

Documentación antigua

Tengo un pantalla táctil de 3.2 inch con el chip xp12046. Para manejarla he seguido esta documentación:

Documentación

Para instalar retropie con esa pantalla he visto este enlace y ha funcionado. Lo que no ha funcionado ha sido el lanzamiento de kodi desde retropie. Al final lo que me ha funcionado ha sido modificar el /boot/config.txt y poner:

#hdmi_force_hotplug=1
hdmi_ignore_hotplug=1

Retoques adicionales

Para añadir un script adicional en el menú de retropie. En mi caso he añadido un tv.sh y un touchscreen.sh para poder conmutar ambos modos.

Para que el estado en el que se me queda un juego se grabe

El Kodi queda un poco pequeño, para cambiar el tamaño de la fuente: enlace

Para spectrum: enlace

Quitar el marco negro y que funcione kodi

Para que funcione kodi he tenido que modificar el /boot/config.txt:

# he tenido que comentar la siguiente línea para que no conmute a la salida hdmi
# hdmi_force_hotplug=1

Pero entonces me salía un borde negro que no aprovechaba toda la pantalla. Esto se corrige añadiendo al fichero /boot/config.txt:

disable_overscan=1

Aumentar el tamaño de letra de los menús

sudo nano /etc/emulationstation/themes/carbon/carbon.xml

Y allí cambiar todas las etiquetas fontSize a 0.05

Para el de kodi, he añadido 10 a todos los tamaños de las fuentes del skin estuary:

sudo nano /usr/share/kodi/addons/skin.estuary/xml/Font.xml

kodi con mandos snes

Como he tenido problemas con los wiimotes, he configurados los mandos de la snes desde Kodi –> Settings –> System settings –> Input –> Configure attached controllers –> Descargar el add-on de control de snes y configurar los botones (yo he cambiado el A por el B)

wiimotes en kodi

enlace %parece complicado

Documentación antigua para configurar los wiimotes:

Es importante configurar primero el teclado y luego añadir el wiimote desde input config del menú de retropie, antes de hacer el paso Register Wiimotes Before Emulationstation Starts (continued)

/opt/retropie/configs/all/autostart.sh 

rebootWithoutWiimotes=0 /home/pi/bin/attachwii.sh
emulationstation #auto




/home/pi/bin/attachwii.sh 

#!/bin/bash
sleep 1 # Wait until Bluetooth services are fully initialized
sudo modprobe uinput
hcitool dev | grep hci >/dev/null
if test $? -eq 0 ; then
    wminput -d -q -c  /home/pi/mywminput 00:19:1D:67:D8:26 > /dev/null 2>&1 &
  #wminput -d -c  /home/pi/mywminput 0C:FC:83:A9:17:6B &
else
    echo "Blue-tooth adapter not present!"
    exit 1
fi


nano mywminput


#Classic-Controller
Classic.Dpad.X = ABS_X
Classic.Dpad.Y = ABS_Y
Classic.LStick.X = ABS_HAT0X
Classic.LStick.Y = ABS_HAT0Y
Classic.RStick.X = ABS_HAT1X
Classic.RStick.Y = ABS_HAT1Y
Classic.A = BTN_A
Classic.B = BTN_B
Classic.X = BTN_X
Classic.Y = BTN_Y
Classic.Minus = BTN_SELECT
Classic.Plus  = BTN_START
Classic.Home  = BTN_MODE
Classic.L  = BTN_TL
Classic.R  = BTN_TR
Classic.ZL = BTN_TL2
Classic.ZR = BTN_TR2

#WiiMote
Wiimote.A   	= BTN_START
Wiimote.B   	= BTN_SELECT
Wiimote.Dpad.X  	= ABS_Y
Wiimote.Dpad.Y  	= -ABS_X
Wiimote.Minus   = BTN_Y
Wiimote.Plus	= BTN_X
Wiimote.Home	= BTN_MODE
Wiimote.1   	= BTN_B
Wiimote.2   	= BTN_A

#Nunchuk
Nunchuk.C = BTN_C
Nunchuk.Z = BTN_Z

Plugin.led.Led1 = 1
#Plugin.led.Led2 = 1
#Plugin.led.Led3 = 1
#Plugin.led.Led4 = 1




  
nano /opt/retropie/configs/all/retroarch.cfg

y 

nano /opt/retropie/emulators/retroarch/retroarch.cfg


#PLAYER 1
input_player1_joypad_index = "0"
input_player1_a_btn = "0"
input_player1_b_btn = "1"
input_player1_x_btn = "3"
input_player1_y_btn = "4"
input_player1_l_btn = "5"
input_player1_r_btn = "6"
input_player1_l2_btn = "7"
input_player1_r2_btn = "8"
input_player1_select_btn = "10"
input_player1_start_btn = "11"
input_player1_up_axis = "+1"
input_player1_down_axis = "-1"
input_player1_left_axis = "-0"
input_player1_right_axis = "+0"
input_player1_l_x_plus_axis = "+2"
input_player1_l_x_minus_axis = "-2"
input_player1_l_y_plus_axis = "-3"
input_player1_l_y_minus_axis = "+3"
input_player1_r_x_plus_axis = "+4"
input_player1_r_x_minus_axis = "-4"
input_player1_r_y_plus_axis = "-5"
input_player1_r_y_minus_axis = "+5"

#PLAYER 2
input_player2_joypad_index = "1"
input_player2_a_btn = "0"
input_player2_b_btn = "1"
input_player2_x_btn = "3"
input_player2_y_btn = "4"
input_player2_l_btn = "5"
input_player2_r_btn = "6"
input_player2_l2_btn = "7"
input_player2_r2_btn = "8"
input_player2_select_btn = "10"
input_player2_start_btn = "11"
input_player2_up_axis = "+1"
input_player2_down_axis = "-1"
input_player2_left_axis = "-0"
input_player2_right_axis = "+0"
input_player2_l_x_plus_axis = "+2"
input_player2_l_x_minus_axis = "-2"
input_player2_l_y_plus_axis = "-3"
input_player2_l_y_minus_axis = "+3"
input_player2_r_x_plus_axis = "+4"
input_player2_r_x_minus_axis = "-4"
input_player2_r_y_plus_axis = "-5"
input_player2_r_y_minus_axis = "+5"


#savestate_auto_save = true
#savestate_auto_load = true
input_enable_hotkey_btn = "10"
input_exit_emulator_btn = "11"
input_menu_toggle_btn = "3"






/home/pi/.emulationstation/es_input.cfg


<?xml version="1.0"?>
<inputList>
  <inputAction type="onfinish">
	<command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.s</command>
  </inputAction>
  <inputConfig type="joystick" deviceName="Nintendo Wiimote">
	<input name="start" type="button" id="11" value="1"/>
	<input name="up" type="axis" id="1" value="1"/>
	<input name="a" type="button" id="0" value="1"/>
	<input name="b" type="button" id="1" value="1"/>
	<input name="down" type="axis" id="1" value="-1"/>
	<input name="right" type="axis" id="0" value="1"/>
	<input name="x" type="button" id="3" value="1"/>
	<input name="select" type="button" id="10" value="1"/>
	<input name="y" type="button" id="4" value="1"/>
	<input name="left" type="axis" id="0" value="-1"/>
  </inputConfig>
</inputList>











nano /home/pi/.kodi/userdata/keymaps/joystick.xml

<?xml version="1.0" encoding="UTF-8"?>
<keymap>
  <global>
	<joystick name="Nintendo Wiimote">
  	<button id="1">Select</button>
  	<button id="2">Back</button>
  	<button id="11">ContextMenu</button>
  	<button id="12">Pause</button>
  	<button id="4">VolumeUp</button>
  	<button id="5">VolumeDown</button>
  	<axis id="1" limit="-1">Left</axis>
  	<axis id="1" limit="+1">Right</axis>
  	<axis id="2" limit="+1">Up</axis>
  	<axis id="2" limit="-1">Down</axis>
	</joystick>
  </global>
</keymap>







/opt/retropie/configs/all/retroarch-joypads/NintendoWiimote.cfg

input_device = "Nintendo Wiimote"
input_driver = "udev"
input_start_btn = "11"
input_exit_emulator_btn = "11"
input_up_axis = "+1"
input_a_btn = "0"
input_b_btn = "1"
input_reset_btn = "1"
input_down_axis = "-1"
input_right_axis = "+0"
input_state_slot_increase_axis = "+0"
input_x_btn = "3"
input_menu_toggle_btn = "3"
input_select_btn = "10"
input_enable_hotkey_btn = "10"
input_y_btn = "4"
input_left_axis = "-0"
input_state_slot_decrease_axis = "-0"


Enlace al Proyecto Original

Gracias a Thearn por el generador de exámenes

Cómo funciona

A tener en cuenta, solo funciona con python 2.7, i.e. ejecutar python2.

  • Opción 1: Hay que descargar la carpeta examgen, y en la que lo contenga entrar en python, así no fallará las importaciones (lo más cómodo es clonar el repositorio del enlace y desde allí ejecutar python2). A la hora de pegar código desde github tener en cuenta los saltos de línea que se copian en el intérprete y dan error.
  • Opción 2: Generar un fichero.py y ejecutar python2 fichero.py. Seguiremos investigando para ver cómo podemos adaptarlo a nuestras necesidades.

Algunos problemillas de novato con python

Para que no nos dé problemas con los caracteres propios del castellano (tildes y otros), hay que añadir al inicio del fichero.py:

# -*- coding: utf8 -*-

Autolevel

El comando es el G29 para que haga el autolevel

Comandos gcode para configurar correctamente el autolevel

G28 //autohome
G92 Z10 //con esto le decimos que está a 10mm de la cama, para poder mover el eje Z hacia abajo con pronterface.
M114

Al poner M114 nos indicará que Z está en 10. En ese momento, vamos bajando de 0.1 en 0.1 hasta que el nozzle quede pegado a la cama pero qu puede pasar un folio. En ese momento volvemos a ejecutar M114 y vemos a qué altura está.

M114

Imaginemos que nos dice que a 9.6. La diferencia es 10-9.6=0.4

Entonces, en el fichero de configuración de Marlin, tendremos que poner ese offset (en negativo, ya que la sonda queda más alta que el nozzle)

#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4

Imprimir con ABS

Me ha reducido el warping el imprimir a 60 grados la cama y luego bajar a 35 al cabo de un par de capas


Para lanzar los notebooks de jupyter necesitamos tener instalado anaconda. Nos vamos en la terminal a la ruta donde queramos tener los notebooks y:

python notebook
solve_univariate_inequality(x**2 >= 4, x, relational=False)
solve([x+4<0,x+1<x/2],x)
solve([Eq(x+y,3), Eq(x-y,1)],[x,y])

latex(solve_rational_inequalities([[((Poly(-x + 5), Poly(1, x)), '>='),((Poly(-x - 7), Poly(1, x)), '<')]]))

solve_poly_inequality(Poly(x/3-3*x + 4 - x + 2, x), '>')

Esa pila de cosas a probar pero que nunca hay tiempo:

Habrá que probarlos.