Exemple #1
0
void MyModuleInit(RTC::Manager* manager)
{
  GateInit(manager);
  RTC::RtcBase* comp;

  // Create a component
  comp = manager->createComponent("Gate");

  if (comp==NULL)
  {
    std::cerr << "Component create failed." << std::endl;
    abort();
  }

  // Example
  // The following procedure is examples how handle RT-Components.
  // These should not be in this function.

  // Get the component's object reference
//  RTC::RTObject_var rtobj;
//  rtobj = RTC::RTObject::_narrow(manager->getPOA()->servant_to_reference(comp));

  // Get the port list of the component
//  PortServiceList* portlist;
//  portlist = rtobj->get_ports();

  // getting port profiles
//  std::cout << "Number of Ports: ";
//  std::cout << portlist->length() << std::endl << std::endl;
//  for (CORBA::ULong i(0), n(portlist->length()); i < n; ++i)
//  {
//    PortService_ptr port;
//    port = (*portlist)[i];
//    std::cout << "Port" << i << " (name): ";
//    std::cout << port->get_port_profile()->name << std::endl;
//
//    RTC::PortInterfaceProfileList iflist;
//    iflist = port->get_port_profile()->interfaces;
//    std::cout << "---interfaces---" << std::endl;
//    for (CORBA::ULong i(0), n(iflist.length()); i < n; ++i)
//    {
//      std::cout << "I/F name: ";
//      std::cout << iflist[i].instance_name << std::endl;
//      std::cout << "I/F type: ";
//      std::cout << iflist[i].type_name << std::endl;
//      const char* pol;
//      pol = iflist[i].polarity == 0 ? "PROVIDED" : "REQUIRED";
//      std::cout << "Polarity: " << pol << std::endl;
//    }
//    std::cout << "---properties---" << std::endl;
//    NVUtil::dump(port->get_port_profile()->properties);
//    std::cout << "----------------" << std::endl << std::endl;
//  }

  return;
}
uint32_t SystemInit(void)
{
    uint32_t result;
    uint32_t unixTime;
        
    SetRebootFlag();
    LedInit();   
    //DisplayStart();   
    RTC_WDT_Init();
    InitNetwork();
    GateInit();
    InitBuff();
    BattADC_Init();

    /* Enable global interrupts */
    CyGlobalIntEnable;
   
    /*sync real time*/
    unixTime = DS1307_GetUnixTime();
//    unixTime = 1485184625 ;
    if(unixTime > 0)
    {      
        RTC_SetUnixTime(unixTime);
        result = DataBaseStart();
        if(result == DB_NO_ERROR)
        {
            Display("System init...");
            result = NO_ERROR;
        }
        else
        {
            Display("Please insert SD");
            result = ERROR;
            SendFinStatus(FIN_NO_READY);
            MyDelay(300);
        }
    }
    else
    {
        Display("Error sync time");
        result = ERROR;
        SendFinStatus(FIN_NO_READY);
        MyDelay(500);
    }
    
    return result;    
}