Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
#include "bsp.h"
#include "mrfi.h"
#include "nwk_types.h"
#include "nwk_api.h"
#include "bsp_leds.h"
#include "bsp_buttons.h"
#include "nwk.h"

// static void linkFrom(void); jos halutaan lähettää viestiä vastaanottimelta, poistetaan tämän kommentointi
static volatile uint8_t  viestiVastaanotettu = 0;
static uint8_t sRxCallback(linkID_t);

void main (void)
{
    BSP_Init(); // laudan alustus
    SMPL_Init(sRxCallback); // radion ja SimpliTi alustus
    BSP_TOGGLE_LED1(); // vihreä ledi päälle
    do {
        if (BSP_BUTTON1()) // odotetaan että nappia painetaan
        {
            break;
        }
    } while (1);
    // linkFrom(); jos halutaan lähettää viestiä vastaanottimelta, poistetaan tämän kommentointi
    while (1) ;
}


// jos halutaan lähettää viestiä vastaanottimelta, poistetaan tämän kommentointi
/*
static void linkFrom()
{
    uint8_t     msg[1];

    SMPL_Ioctl( IOCTL_OBJ_RADIO, IOCTL_ACT_RADIO_RXON, 0); // radion käynnistys
   
    msg[0] = 1;
    
    while (1)
    {
        if (viestiVastaanotettu)
        {
            SMPL_Send(SMPL_LINKID_USER_UUD, msg, sizeof(msg));
            viestiVastaanotettu = 0;
        }
    }
}
*/

static uint8_t sRxCallback(linkID_t port) // viestin takaisin vastaanotto
{
    uint8_t msg[2], len;

    if (port == SMPL_LINKID_USER_UUD) // tarkisetaan vastaan otetavan viestin ID
    {
        if (SMPL_SUCCESS == SMPL_Receive(SMPL_LINKID_USER_UUD, msg, &len))
        {
            uint16_t led=msg[2];
            if (led == 2) BSP_TOGGLE_LED2();
            
            uint16_t led1=msg[1];
            if (led1 == 1) BSP_TOGGLE_LED1();

            viestiVastaanotettu = 1;
            
            return 1;
        }
    }
  return 0;
}

...