Memristor-Robotics/mep-master

View on GitHub
src/Bootstrap.js

Summary

Maintainability
A
0 mins
Test Coverage
'use strict';
const Path = require('path');
global.Mep = require('./Mep');

async function bootstrap() {
    // Print status
    Mep.Log.info('MEP (Memristor\'s Eurobot Platform) started!');
    Mep.Log.info('Active robot:', Mep.Config.get('robot'));
    Mep.Log.info('Active table:', Mep.Config.get('table'));
    Mep.Log.info('Use simulation:', Mep.Config.get('simulation'));
    Mep.Log.info('Scheduler terrain:', Mep.Config.get('scheduler'));

    // Initialize drivers & services
    await Mep.init();

    // Load strategy
    let schedulerPath = Mep.Config.get('scheduler');
    if (Path.isAbsolute(schedulerPath) === false) {
        schedulerPath = Path.join('../', schedulerPath);
    }
    
    try {
        let Scheduler = require(schedulerPath);
        new Scheduler();
    } catch (e) {
        Mep.Log.error('Strategy', e);
    }
}

bootstrap();