El chispa base árbol de Navidad estrella (SCXTS) es clase de un sobra proyecto de la noche de la compilación de instructables, durante dorkbot.de de Aquisgrán en noviembre de 2014. Yo no, porque en aquel momento yo no tenía medios para analizar una cadena entrante con más de un argumento dentro de la función Sparkcore. Sólo después de resolver esta cuestión realmente he iniciado.
Pidió prestado mi base ya reivindicada a partir de ahí y un 'núcleo de chispa chispa Internet botón' (corto: el botón). Quería averiguar cómo encienden todos los LEDs en colores individualmente especificados, lo que significa, que quería utilizar mi iPod rosado como un control remoto para el botón.
Muy pronto me enteré sobre el siguiente problema. El núcleo de la chispa tiene 2 limitaciones. El número de funciones disponibles por su nombre, se limita a 4. Se puede declarar como quieras, pero entonces sólo algunos de ellos son tragados.
La segunda limitación es la cadena de parámetro limitada a una longitud de 64 caracteres. Con esta limitación es imposible formular 12 colores en una lista ordenada como cadena, incluso si los valores sí son bytes. Por lo menos, como hexadecimal codificado con 6 cartas por color, sería 72, sin separadores.
La única forma es dividir la llamada. Al principio he creado dos funciones, una para los primeros 6 colores, uno para los 6 últimos. Este enfoque funcionó bien hasta que me topé con la otra limitación de 4 funciones en total. Quería cambiar el botón de encendido y apagado, cambiar el brillo general y así sucesivamente, pero tengo solo 2 nombres a la izquierda.
Lo que surgió es una sola función. El primer argumento "mode" se utiliza para rama hacia fuera a un conjunto de funciones internas entonces. Un valor flotante negativo indica cómo deben procesarse los datos siguientes.
Un valor positivo significa acelerador a fondo: los 12 valores caben en una sola cuerda: usarlo!