Page 1 of 2

NumWorks : personnalise les couleurs de ta diode examen RVB

Unread postPosted: 02 Sep 2017, 23:12
by Admin
8668IAMISSAM qui a reçu sa calculatrice NumWorks a commencé ses premières expériences de modification et remplacement du firmware officiel dont le code source est ouvert.

La diode du mode examen dont la lumière se diffuse à travers la coque n'est pas une simple diode rouge...
Ce n'est pas non plus une diode bicolore comme la diode Rouge+Vert des TI-Nspire...


Non, il s'agit d'une diode tricolore Rouge+Vert+Bleu permettant de reproduire un large éventail du spectre par addition, comme celle du TI-Innovator. :bj:

Mais mieux que ça, le code source te permet même de choisir les deux états entre lesquels oscille la diode.
Pour le motif officiel, ces deux états sont rouge et éteint.
Mais tu peux très bien remplacer cela par une alternance entre deux couleurs, comme ci-contre le bleu et le vert ! :o

Avec la calculatrice NumWorks tu peux donc choisir les couleurs de ta diode examen selon ton humeur tout comme tu choisis celles de tes vêtements ! :bj:

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 00:03
by Orian
Bah du coup, je la veux encore plus pour les couleurs :) Ouai je suis un gamin, et alors ?? :')

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 10:52
by critor
Pour info, ça se passe donc ici :
https://github.com/numworks/epsilon/blo ... _timer.cpp

Le code officiel alterne entre le rouge et le noir, et l'on peut changer ça (Stendhal se retourne dans sa tombe...) :
Code: Select all
#include "led_timer.h"

LedTimer::LedTimer() :
  Timer(1),
  m_on(false)
{
}

bool LedTimer::fire() {
  m_on = !m_on;
  KDColor ledColor = m_on ? KDColorRed : KDColorBlack;
  Ion::LED::setColor(ledColor);
  return false;
}


On peut même contrôler la fréquence ! :bj:

Le rouge et le noir ainsi que plusieurs couleurs sont prédéfinies dans :
https://github.com/numworks/epsilon/blo ... ky/color.h

On y trouve de plus le constructeur pour s'en faire d'autres. :bj:

Code: Select all
#ifndef KANDINSKY_COLOR_H
#define KANDINSKY_COLOR_H

#include <stdint.h>

class KDColor {
public:
  constexpr KDColor() : m_value(0) {}
  // FIXME: This should not be needed, and is probably wasting CPU cycles
  static constexpr KDColor RGB16(uint16_t rgb) {
    return KDColor(rgb);
  }
  static constexpr KDColor RGB24(uint32_t rgb) {
    return KDColor(((rgb&0xF80000)>>8)|((rgb&0x00FC00)>>5)|((rgb&0x0000F8)>>3));
  }
  static constexpr KDColor RGB888(uint8_t r, uint8_t g, uint8_t b) {
    return KDColor((r>>3)<<11 | (g>>2) << 5 | (b>>3));
  }
  uint8_t red() const {
    uint8_t r5 = (m_value>>11)&0x1F;
    return r5 << 3;
  }

  uint8_t green() const {
    uint8_t g6 = (m_value>>5)&0x3F;
    return g6 << 2;
  }

  uint8_t blue() const {
    uint8_t b5 = m_value&0x1F;
    return b5 << 3;
  }

  static KDColor blend(KDColor first, KDColor second, uint8_t alpha);
  operator uint16_t() const { return m_value; }
private:
  constexpr KDColor(uint16_t value) : m_value(value) {}
  uint16_t m_value;
};

constexpr KDColor KDColorBlack = KDColor::RGB24(0x000000);
constexpr KDColor KDColorWhite = KDColor::RGB24(0xFFFFFF);
constexpr KDColor KDColorRed = KDColor::RGB24(0xFF0000);
constexpr KDColor KDColorGreen = KDColor::RGB24(0x00FF00);
constexpr KDColor KDColorBlue = KDColor::RGB24(0x0000FF);
constexpr KDColor KDColorYellow = KDColor::RGB24(0xFFFF00);

#endif

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 14:00
by critor
Modification un peu moins triviale du code, toujours par IAMISSAM, avec cette fois-ci une oscillation en mode examen entre 6 couleurs :

Voir https://pastebin.com/z3UNmqPU et https://pastebin.com/xPs3ceg4

Plutôt que de recompiler à chaque fois, pourquoi ne pas faire plus accessible et rajouter à l'appli Paramètres une option permettant directement à l'utilisateur de choisir les couleurs de la diode en mode examen ? ;)
Voir même, soyons fous, de programmer son propre motif ? :D

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 18:15
by jean-baptiste boric
Les pauvres surveillants... J'imagine les consignes : "calculettes NumWorks: tant que ça clignote, c'est probablement OK" XD

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 18:23
by clifward
Ou alors "vous avez le droit de fouiller le contenu d'une calculatrice à n'importe quel moment durant l'épreuve, tant que la durée de l'inspection ne dépasse pas 5 minutes" :'D

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 18:26
by critor
jean-baptiste boric wrote:Les pauvres surveillants... J'imagine les consignes : "calculettes NumWorks: tant que ça clignote, c'est probablement OK" XD

Je ne vois pas de problème.
Les textes disponibles actuellement parlent juste de clignotement. :)

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 22:12
by Adriweb
Conformément à ce qui est marqué (note 1 en bas) dans la note de service, j'ai fait la demande des spécifications techniques relatives au mode examen. On verra ce que ça donne...

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 22:14
by critor
Merci.

Re: NumWorks : personnalise les couleurs de ta diode examen

Unread postPosted: 03 Sep 2017, 22:18
by Adriweb
Pourquoi personne depuis 2 ans et quelques ne l'avait fait, d'ailleurs... ? Ca me surprend...