etherlab/EthercatCFileGenerator.py
changeset 2137 b65abacdbdf9
parent 2121 11102245e1d4
child 2139 1565239349a8
equal deleted inserted replaced
2136:71fdfd4a12a3 2137:b65abacdbdf9
   199             else:
   199             else:
   200                 alias[slave_alias] = 0
   200                 alias[slave_alias] = 0
   201             slave_pos = (slave_alias, alias[slave_alias])
   201             slave_pos = (slave_alias, alias[slave_alias])
   202             
   202             
   203             # Extract slave device informations
   203             # Extract slave device informations
   204             device, alignment = self.Controler.GetModuleInfos(type_infos)
   204             device, module_extra_params = self.Controler.GetModuleInfos(type_infos)
   205             if device is not None:
   205             if device is not None:
   206                 
   206                 
   207                 # Extract slaves variables to be mapped
   207                 # Extract slaves variables to be mapped
   208                 slave_variables = self.UsedVariables.get(slave_idx, {})
   208                 slave_variables = self.UsedVariables.get(slave_idx, {})
   209                 
   209                 
   493                                     dynamic_pdos[pdo_type]["sync_manager"]["pdos_number"] += 1
   493                                     dynamic_pdos[pdo_type]["sync_manager"]["pdos_number"] += 1
   494                                     dynamic_pdos[pdo_type]["sync_manager"]["pdos"].append(pdo)
   494                                     dynamic_pdos[pdo_type]["sync_manager"]["pdos"].append(pdo)
   495                                     dynamic_pdos[pdo_type]["pdos"].append(pdo)
   495                                     dynamic_pdos[pdo_type]["pdos"].append(pdo)
   496                                 
   496                                 
   497                                 pdo["entries"].append("    {0x%(index).4x, 0x%(subindex).2x, %(bitlen)d}, /* %(name)s */" % entry_infos)
   497                                 pdo["entries"].append("    {0x%(index).4x, 0x%(subindex).2x, %(bitlen)d}, /* %(name)s */" % entry_infos)
   498                                 if entry_infos["bitlen"] < alignment:
   498                                 if entry_infos["bitlen"] < module_extra_params["pdo_alignment"]:
   499                                     print (alignment, entry_infos["bitlen"])
   499                                     pdo["entries"].append("    {0x0000, 0x00, %d}, /* None */" % (
   500                                     pdo["entries"].append("    {0x0000, 0x00, %d}, /* None */" % (alignment - entry_infos["bitlen"]))
   500                                             module_extra_params["pdo_alignment"] - entry_infos["bitlen"]))
   501                                 pdo["entries_number"] += 1
   501                                 pdo["entries_number"] += 1
   502                                 
   502                                 
   503                                 if pdo["entries_number"] == 255:
   503                                 if pdo["entries_number"] == 255:
   504                                     dynamic_pdos[pdo_type]["pdos"].pop(0)
   504                                     dynamic_pdos[pdo_type]["pdos"].pop(0)
   505                     
   505