Example #1
0
void main(void){
  init_general();// Set general runtime configuration bits
  init_gpio_pins(); // Set all I/O pins to low outputs
  init_oscillator(0);// Initialize oscillator configuration bits
  init_timer2();// Initialize timer2 (millis)
  init_adc(NULL); // Initialize ADC module
  init_termination(NOT_TERMINATING);
  init_adcs();// Initialize all of the ADC's
  init_can(); // Initialize CAN

  canAnalogMillis = canDiagMillis = 0;
  ADCCON3bits.GSWTRG = 1; // Initial ADC Conversion?
  STI();// Enable interrupts


  while(1){
    update_analog_channels();
    strain_calc();

    if(millis - canAnalogMillis >= CAN_ANALOG_INTV){
      CANAnalogChannels();
      canAnalogMillis = millis;
    }

    if(millis - canDiagMillis >= CAN_DIAG_INTV){
      CANdiag();
      canDiagMillis = millis;
    }

    sample_temp(); // Sample internal and external temperature sensors

  }
}
Example #2
0
int main(void){
  init_general();// Set general runtime configuration bits
  init_gpio_pins();// Set all I/O pins to low outputs
  init_oscillator(0);// Initialize oscillator configuration bits
  init_timer2();// Initialize timer2 (millis)

  int i;
  while(1){
    for(i = 0;i<1000000;i++);
    PIC_LED_LAT = 1;
    for(i = 0;i<1000000;i++);
    PIC_LED_LAT = 0;
  }
  return 0;
}
Example #3
0
/* slave information interface */
void init_sii(ecat_slave *esv)
{
    int pdoe_idx = 0;

    memset(&esv->categories,0,sizeof(struct __sii_categories__));
    init_si_info(&esv->categories.sii);
    init_strings(&esv->categories.strings, &esv->categories.strings_hdr);
    init_fmmu(&esv->categories.fmmu, &esv->categories.fmmu_hdr);
    init_syncm(esv, &esv->categories.syncm0, 0 ,&esv->categories.syncm_hdr0);
    init_syncm(esv, &esv->categories.syncm1, 1 ,&esv->categories.syncm_hdr1);
    init_general(esv, &esv->categories.general, &esv->categories.general_hdr);
    init_end_hdr(&esv->categories.endhdr);

    // pdos
    esv->categories.rxpdo_hdr.type = CAT_TYPE_RXPDO;
    esv->categories.rxpdo_hdr.size = sizeof(esv->categories.rxpdo)/2;
    esv->categories.rxpdo.entries = 2;
    esv->categories.rxpdo.flags = 0;
    esv->categories.rxpdo.name_idx = RXPDO_CAT_NAME_IDX + 1;
    esv->categories.rxpdo.synchronization = 0;
    esv->categories.rxpdo.syncm = 0;
    esv->categories.rxpdo.pdo_index = 0x1600;

    init_pdo(&esv->categories.rxpdo.pdo[0], 0x1600, 0X02, RX_PDO1_NAME_IDX + 1, 0, 8, 0);
    esv->pdoe_sizes[pdoe_idx++] = 8;
    init_pdo(&esv->categories.rxpdo.pdo[1], 0x1600, 0X01, RX_PDO2_NAME_IDX + 1, 0, 32, 0);
    esv->pdoe_sizes[pdoe_idx++]  = 32;

    esv->categories.txpdo_hdr.type = CAT_TYPE_TXPDO;
    esv->categories.txpdo.entries = 2;
    esv->categories.txpdo.flags = 0;
    esv->categories.txpdo.name_idx = TXPDO_CAT_NAME_IDX  +1;
    esv->categories.txpdo.synchronization = 0;
    esv->categories.txpdo.syncm = 1;
    esv->categories.txpdo.pdo_index = 0x1a00;
    esv->categories.txpdo_hdr.size = sizeof(esv->categories.txpdo)/2;

    init_pdo(&esv->categories.txpdo.pdo[0], 0x1a00, 0X02, TX_PDO1_NAME_IDX + 1, 0, 32, 0);
    esv->pdoe_sizes[pdoe_idx++]  = 32;
    init_pdo(&esv->categories.txpdo.pdo[1], 0x1a00, 0X01, TX_PDO2_NAME_IDX + 1, 0, 16, 0);
    esv->pdoe_sizes[pdoe_idx++]  = 16;
}
MRN_API mrn_bool last_insert_grn_id_init(UDF_INIT *init,
                                        UDF_ARGS *args,
                                        char *message)
{
  return init_general(init, args, message, "last_insert_grn_id");
}