Exemplo n.º 1
0
extern eOsk_status_t * eo_entities_GetSkinStatus(EOtheEntities *p, eOprotIndex_t id)
{
    eOsk_status_t *ret = NULL;    
    eOsk_skin_t *sk = eo_entities_GetSkin(p, id);
    
    if(NULL != sk)
    {
        ret = &(sk->status);
    }

    return(ret);
}
Exemplo n.º 2
0
extern eOresult_t eo_skin_Activate(EOtheSKIN *p, const eOmn_serv_configuration_t * servcfg)
{
    if((NULL == p) || (NULL == servcfg))
    {
        return(eores_NOK_nullpointer);
    } 

    if(eomn_serv_SK_skin != servcfg->type)
    {
        return(eores_NOK_generic);
    }
    
    if(eobool_true == p->service.active)
    {
        eo_skin_Deactivate(p);        
    }   
    
    eo_entities_SetNumOfSkins(eo_entities_GetHandle(), servcfg->data.sk.skin.numofpatches);
    

    if(0 == eo_entities_NumOfSkins(eo_entities_GetHandle()))
    {
        p->service.active = eobool_false;
        return(eores_NOK_generic);
    }
    else
    {         
        memcpy(&p->service.servconfig, servcfg, sizeof(eOmn_serv_configuration_t));

        p->numofskinpatches = servcfg->data.sk.skin.numofpatches;
        
        uint8_t i = 0;
        for(i=0; i<p->numofskinpatches; i++)
        {
            p->skinpatches[i] = eo_entities_GetSkin(eo_entities_GetHandle(), i);
        }
        
        // now i must add all the mtb boards. i iterate per patch and then per canbus
        
        eObrd_canproperties_t prop = 
        {
            .type               = eobrd_cantype_mtb, 
            .location           = { .port = 0, .addr = 0, .insideindex = eobrd_caninsideindex_none },
            .requiredprotocol   = { .major = servcfg->data.sk.skin.version.protocol.major, .minor = servcfg->data.sk.skin.version.protocol.minor }
        };  
        
        eOcanmap_entitydescriptor_t des = 
        {
            .location   = { .port = 0, .addr = 0, .insideindex = eobrd_caninsideindex_none },
            .index      = entindexNONE
        };