Archive 07/10/2020.

TP4 : une etape doit me manquer

kenotte

Bonjour,
je pense avoir executé toutes les etapes necessaires, j’ai modifié les fichiers avant de les avoir enregistrés.
Je passe par un terminal pour executer les commande (flash compris) et pourtant lors de la demande cpu et board je n’ai apparement pas la bonne reponse

aabadie2

Bonjour,

Est-ce que les commandes shell apparaisse lorsque vous tapez help dans le shell RIOT ?
Etes-vous sûr d’avoir modifié les bons fichiers Makefile et main.c ?

Le plus simple pour vous aider serait que vous postiez ici le contenu de votre Makefile et de main.c.

Merci

kenotte

J’ai modifié les fichiers presents dans le dossier “shell”
voila ce que me retourne help :

> help
help
Command              Description
---------------------------------------
board                Print the board name
cpu                  Print the cpu name

Voici le Makefile :

APPLICATION ?= basic-shell

BOARD ?= native

# Add module for the shell here
USEMODULE += shell
RIOTBASE ?= $(CURDIR)/../../RIOT

include $(RIOTBASE)/Makefile.include

et le main.c :

#include <stdio.h>
#include <shell.h>


static int _board_handler(int argc, char **argv)
{
    /* These parameters are not used, avoid a warning during build */
    (void)argc;
    (void)argv;

    puts(RIOT_BOARD);

    return 0;
}

static int _cpu_handler(int argc, char **argv)
{
    /* These parameters are not used, avoid a warning during build */
    (void)argc;
    (void)argv;

    puts(RIOT_CPU);

    return 0;
}


static const shell_command_t shell_commands[] = {
    { "board", "Print the board name", _board_handler },
    { "cpu", "Print the cpu name", _cpu_handler },
    { NULL, NULL, NULL }
};

/* Include the shell header */

/* Implement the shell function callback here */

/* Add the shell command to the list of commands here */

int main(void)
{
    char line_buf[SHELL_DEFAULT_BUFSIZE];
    shell_run(shell_commands, line_buf, SHELL_DEFAULT_BUFSIZE); 
    return 0;
}
aabadie2

Bonjour,

Votre code est correct. Que vous affiche le shell de RIOT lorsque vous y lancez les commandes board et cpu ?

kenotte

Bonjour,
j’ai reessayé aujourd’hui sans avoir touché mes fichiers et effectivement cela fonctionne.
J’avais sans doute fait une erreur de manip lors du flash, meme si j’avais effectué plusieurs essais…
Merci pour la confirmation de mon code en tout cas