Panel
Todo lo que hace falta de un vistazo. Los avisos se descartan con la equis y se pueden recuperar. Las tarjetas con la marca azul son las que hay que mirar sí o sí; la naranja avisa de una decisión inminente.
Box virtual
Qué karts hay parados en la zona de cambio y cuáles merecen la pena. Cada vez que un equipo entra a boxes deja el kart que llevaba, y de ese kart ya sabemos lo que vale porque hemos medido su ritmo todo el stint.
Karts que han entrado a boxes
La media limpia descarta las primeras vueltas del stint, con el neumático frío, y el 20 % de vueltas más lentas, que son tráfico. La nota se saca en dos pasos. Primero se compara cada vuelta con la mediana del pelotón en ese mismo instante, lo que anula la temperatura, el tráfico y la hora. Después se descuenta el nivel habitual de ese equipo, porque un equipo lento rodará lejos lleve el kart que lleve: lo que delata un buen chasis es que ese stint se salga de lo normal en ellos. Hasta que un equipo no acumula dos stints no se aventura nota, y sale «aún sin comparar».
Cola del pit lane
Ordenada por antigüedad: el que lleva más tiempo dentro está más cerca del frente de su fila. Con 4 filas, los 4 primeros son los que te pueden tocar. La nota sale del ritmo que llevaba ese kart cuando su equipo lo dejó, ya comparado con el pelotón en ese mismo momento.
Historial de todos los karts
Cada kart recibe un identificador propio y se le sigue la pista por la cola de boxes, aunque lo lleven equipos distintos. Su nota es la mediana de todos sus stints, cada uno ya corregido por el pelotón de ese momento y por el nivel del equipo que lo conducía, así que da igual quién lo llevara. Toca cualquier fila para ver su ficha completa: todos sus stints, quién lo llevó y las observaciones de por qué tiene esa nota. Mientras no haya suficientes stints de un mismo equipo para conocer su nivel, la nota se da sin corregir, comparando solo contra el pelotón: sirve de orientación pero mezcla piloto y chasis. Con una sola fila en la zona de cambio el seguimiento es exacto; con varias, la consola no puede saber de qué fila sale cada kart y lo marca como estimado.
Reparto de calidad de lo que hay dentro
Decisión de stint
El kart lo decide el sorteo y no se puede ver nada. Lo que sí decides tú es cuánto tiempo lo llevas: entre 15 y 60 minutos.
Sin carrera iniciada
—
Inicia el reloj de carrera en Configuración y registra tu primera parada.
- Kart actual
- —
- Ritmo del kart
- —s/vuelta
- Umbral para alargar
- —s/vuelta
- Referencia del pelotón ahora
- —
015 min · mínimo legal60 min · máximo legal
Kart que llevamos
Va al stint que esté abierto. Las paradas, el piloto y los tiempos los registra el sistema solo.
Los tres son por si el cronometraje se salta una parada, por ejemplo cuando cambia el texto de tu fila por un aviso de kart obligatorio. En condiciones normales no hace falta tocarlos.
Presupuesto de tiempo
Plan de carrera
Las 30 horas completas, con las ventanas en que el pit lane está cerrado y el reparto de stints largos que te queda.
Línea de tiempo
Ventanas críticas
Cómo se reparte lo que queda
Mis karts
Solo puedes medir los karts que has llevado tú. El sentido de marcha cambia a las 15 horas, así que las notas se separan.
Historial de stints
La nota se calcula en tres pasos. Primero se resta la mediana del pelotón en ese mismo momento, que quita de en medio la temperatura, la hora, el tráfico y las neutralizaciones. Después se separa kart de piloto por mínimos cuadrados, para que compares chasis con chasis y no se te cuele lo rápido que iba quien lo conducía. Y por último se contrae hacia la media si hay pocas vueltas, para que un stint corto no dispare la nota. Con menos de 5 vueltas limpias sale en gris porque todavía no es fiable.
Pilotos
El mínimo del reglamento se mide de pit-out a pit-in: el tiempo parado en boxes no cuenta para nadie. Si alguien va corto, deja de ser libre acortar sus stints.
Tiempo acumulado
Los minutos vienen del cronometraje: Apex publica el acumulado de cada piloto junto a su nombre. Si te incorporas con la carrera empezada, solo aparecerán los que ya hayan rodado desde que conectaste; los demás salen en cuanto se montan. Puedes escribir su acumulado a mano en la casilla y a partir de ahí se sigue solo.
Plantilla
Los pilotos se detectan solos: el cronometraje publica quién va dentro y cuánto lleva acumulado, y la consola lo copia. Solo hace falta tocar esto si el circuito no publicara los nombres.
Clasificación
Dos tablas: cómo va la cosa ahora mismo y cómo iría si todos cumplieran las paradas que aún deben.
Si todos igualásemos paradas
Ésta es la tabla que importa. A cada equipo se le suma el tiempo que todavía debe en boxes: las paradas que le faltan por el coste real medido, carril de entrada y salida incluidos. Si todos cumplieran ahora lo que les queda, éste sería el orden. Contrastado con el resultado final de las 3H de Sevilla: en el último tercio de carrera acierta un 30 % mejor que la posición de pantalla.
Tal y como va ahora
Aviso al piloto
Manda un mensaje a la pantalla que el piloto lleva en el volante. Sale a pantalla completa y parpadeando durante unos segundos. Si el piloto la toca, aquí se enciende «recibido»; si va en plena curva y no la toca, no pasa nada.
Datos
Conexión al cronometraje de Campillos y pegado manual para pruebas.
Conexión al cronometraje
La página de Apex llega vacía: pone «CONNECTING…» y rellena la parrilla por WebSocket. Raspar el HTML no devuelve nada, así que no hace falta proxy ninguno. Apex sirve por wss://, que va cifrado y no lo bloquea ni CORS ni el contenido mixto, así que esta consola funciona igual en local que subida a Vercel.
Confirmado en Karting Sevilla: live-data.apex-timing.com, puerto 9863 cifrado. En config.js figura el 9860, que es el puerto en claro; el seguro es ese más tres.
Es lo que va detrás de la barra en la dirección del live timing.
Pega la URL del WebSocket y dale a conectar. Todo lo que llegue se registra abajo aunque yo todavía no sepa interpretarlo.
Sin tramas todavía.
Cópiame estas tramas y te escribo el intérprete exacto para el formato de Campillos.
Parrilla del cronometraje
Apex numera las columnas pero no las nombra, y cada circuito las ordena a su manera. Asigna arriba de cada columna qué significa y el resto de la consola empieza a funcionar sola. Normalmente no tendrás que tocar nada: la trama init de Apex trae la cabecera con un tipo por columna, así que el mapeo se lee en vez de adivinarse. Estos desplegables están por si un circuito viene con la parrilla configurada de otra manera.
Reproducir una carrera grabada
El que genera el grabador, el que empieza por timing-completo o 3H_COMPLETO. Se lee en tu propio móvil, no se sube a ningún sitio.
Configura el reglamento de esa carrera en la sección Reglamento y pon tu dorsal. La reproducción borra los datos de la sesión pero respeta el reglamento.
Órdenes que manda el cronometraje
Todo lo que llega queda listado aquí, lo entienda yo o no. Las órdenes marcadas sin interpretar son las que todavía no sé leer: si al pinchar tu equipo en el live timing aparece alguna nueva, ahí estará el historial de pilotos y paradas. Cópiame la lista y escribo el intérprete.
Cómo sacar la URL del WebSocket
- Abre el live timing en Chrome en el ordenador, no en el móvil.
- Pulsa F12 para abrir las herramientas de desarrollador y ve a la pestaña Network (Red).
- Dentro de Network pincha el filtro WS. Recarga la página con F5.
- Aparecerá una única línea: es la conexión. Clic derecho → Copy → Copy link address, y pégala arriba.
- Pincha esa línea y entra en la pestaña Messages. Copia las primeras diez o quince tramas y mándamelas: con eso escribo el intérprete exacto.
Ya sabemos que Apex usa wss://, así que no hay problema de contenido mixto y puedes tener la consola donde quieras. Este apartado te sirve para el día de Campillos: si el puerto o la ruta cambian, los sacas igual desde aquí.
Proxy en Cloudflare
- Entra en dash.cloudflare.com, la misma cuenta donde tienes R2.
- Menú lateral Workers & Pages → Create → pestaña Workers → Create Worker.
- Nómbralo timing-proxy y pulsa Deploy.
- Edit code, borra todo, pega el código de abajo y vuelve a pulsar Deploy.
- Copia la URL que te da, añade /?url= al final y pégala arriba.
export default {
async fetch(req) {
const cors = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET,OPTIONS",
"Access-Control-Allow-Headers": "*"
};
if (req.method === "OPTIONS") return new Response(null, { headers: cors });
const target = new URL(req.url).searchParams.get("url");
if (!target) return new Response("Falta ?url=", { status: 400, headers: cors });
try {
const r = await fetch(target, {
headers: { "User-Agent": "Mozilla/5.0", "Accept": "text/html,application/json" },
cf: { cacheTtl: 0 }
});
return new Response(await r.text(), {
status: r.status,
headers: { ...cors, "Content-Type": r.headers.get("Content-Type") || "text/html; charset=utf-8" }
});
} catch (e) {
return new Response("Error: " + e.message, { status: 502, headers: cors });
}
}
};
100.000 peticiones diarias gratis. Refrescando cada 20 s durante 30 horas gastarías unas 5.400.
Pegar tabla
Copia de seguridad
Dirección de carrera
Todo lo que anuncia la organización, separado por equipo. Los avisos que llevan nuestro dorsal salen destacados y suenan.
Nuestro equipo
Penalizaciones aplicadas en la tabla
Todos los comunicados
Reglamento de la carrera
Todo lo que cambia de una carrera a otra. Guarda un perfil por prueba y lo recuperas cuando quieras.
Perfiles guardados
El nombre aparece arriba junto al logo, para que sepas siempre con qué reglamento estás midiendo.
Duración y paradas
180 para 3 h, 360 para 6 h, 1800 para 30 h.
Cero si no hay mínimo.
Incluyendo entrada y salida si el reglamento lo cuenta así.
Cero si no hay tope.
Déjalo en cero: en las 3H de Sevilla se comprobó que las marcas de entrada y salida del cronometraje ya incluyen el carril, así que sumarlo contaba dos veces lo mismo. Solo tócalo si el pit lane de tu circuito se cronometra de otra forma.
Ventanas del pit lane
Minutos desde la salida en que no se puede parar.
Los tiempos de un sentido no se comparan con los del otro.
Solo si has marcado que sí lo hay.
Duración de los stints
De pit-out a pit-in.
Cero si no hay tope.
Cuántos minutos antes del máximo quieres el aviso.
Cero si es igual que el resto.
Kart obligatorio
Algunas carreras obligan a hacer un stint con un kart distinto. El cronometraje sustituye el nombre del piloto por el del kart y lleva su propio contador. Escríbelo tal cual aparece.
Cero si no hay mínimo. No cumplirlo suele ser descalificación.
Pilotos
Cero si no hay mínimo.
Cero si no hay tope.
Zona de cambio de karts
Es lo único que hace falta. Cuenta los karts parados ahí dentro, escríbelo y pulsa Fijar: el total del parque se calcula solo. Si te equivocas o cambia, vuelves a contarlos y lo fijas otra vez.
Solo si lo sabes de antemano y prefieres ponerlo a mano.
Cuántos karts pueden tocarte, uno por fila. No es lo mismo que cuántos hay esperando: en una sola fila puede haber varios karts en cola, y a ti solo te toca el primero.
La capacidad de cada fila.
En muchos circuitos el que entra se lleva el kart que acaba de dejar el anterior. Si es tu caso, deja el último que ha entrado: entonces sabemos exactamente cuál te va a tocar y lo acabamos de medir.
Por defecto 6,5.
Por defecto 4,5. Entre las dos, kart del montón.
Umbral de la alerta del panel.
Salta aviso y pitido cuando entra a boxes un kart que iba al menos esto por delante de nuestro ritmo.
Puntos de partida
Cargan valores razonables que luego ajustas. El de Campillos trae ya el reglamento de la VIII edición: 36 paradas, 150 s de parada mínima, entre 15 y 60 minutos en pista, cambio de sentido a las 15 horas y cierre media hora antes del final.
Configuración
Los valores vienen puestos según el reglamento de la VIII edición. Cámbialos si la organización publica una actualización.
Mi equipo
Pita cuando entra a boxes un kart más rápido que nosotros o cuando se acaba el margen de stint.
Para convertir segundos por vuelta en vueltas ganadas.
Adoptar la sesión conectada copia la duración que anuncia el cronometraje, útil para probar contra una simulación de otra duración. Para la carrera de verdad déjalo en 1800 minutos con 36 paradas y el cambio de sentido en el 900.
Normalmente no hace falta tocar nada más: el reloj de carrera, el stint en curso y las paradas hechas se leen del cronometraje en cuanto pongas tu dorsal y conectes. Estos botones son por si el circuito no publica la cuenta atrás.
Reglamento
Según el reglamento: 360 con 4 pilotos, 285 con 5, 240 con 6, 210 con 7 y 180 con 8. Cuenta solo de pit-out a pit-in.
Para saber cuántos esperan dentro: total menos equipos en pista.
Cuántos karts pueden tocarte, uno por fila.
Umbral de la alerta del panel.
Valores ya cargados del reglamento de la VIII edición: 30 horas, 36 paradas obligatorias, parada mínima de 150 s, entre 15 y 60 minutos en pista, cambio de sentido a las 15 horas con el pit cerrado un cuarto de hora antes y después, y cierre definitivo media hora antes del final.