Subversion Repositories chibiosIgnition

Rev

Rev 21 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 21 Rev 22
Line 35... Line 35...
35
#include "evtimer.h"
35
#include "evtimer.h"
36
#include "chprintf.h"
36
#include "chprintf.h"
37
 
37
 
38
 
38
 
39
 
39
 
40
#if (HAL_USE_SERIAL_USB == TRUE)
40
#if (HAL_USE_SERIAL_ == TRUE)
41
#include "usbcfg.h"
41
#include "cfg.h"
42
#endif
42
#endif
43
 
43
 
44
 
44
 
45
#include "ap_math.h"
45
#include "ap_math.h"
46
#include "hardware.h"
46
#include "hardware.h"
Line 65... Line 65...
65
#define TEST_WA_SIZE    THD_WORKING_AREA_SIZE(256)
65
#define TEST_WA_SIZE    THD_WORKING_AREA_SIZE(256)
66
 
66
 
67
 
67
 
68
 
68
 
69
static const ShellConfig shell_cfg1 = {
69
static const ShellConfig shell_cfg1 = {
70
#if (HAL_USE_SERIAL_USB == TRUE)
70
#if (HAL_USE_SERIAL_ == TRUE)
71
  (BaseSequentialStream *)&SDU1,
71
  (BaseSequentialStream *)&SDU1,
72
#else
72
#else
73
  (BaseSequentialStream *)&SD1,
73
  (BaseSequentialStream *)&SD2,
74
#endif
74
#endif
75
  shellCommands
75
  shellCommands
76
};
76
};
77
////////
77
////////
78
// end of shell stuff
78
// end of shell stuff
Line 104... Line 104...
104
           * in this demo it just performs
104
           * in this demo it just performs
105
           * a shell respawn upon its termination.
105
           * a shell respawn upon its termination.
106
           */
106
           */
107
          while (true) {
107
          while (true) {
108
            if (!shelltp) {
108
            if (!shelltp) {
109
        #if (HAL_USE_SERIAL_USB == TRUE)
109
        #if (HAL_USE_SERIAL_ == TRUE)
110
              if (SDU1.config->usbp->state == USB_ACTIVE) {
110
              if (SDU1.config->p->state == _ACTIVE) {
111
                /* Spawns a new shell.*/
111
                /* Spawns a new shell.*/
112
                shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE, "shell", NORMALPRIO, shellThread, (void *) &shell_cfg1);
112
                shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE, "shell", NORMALPRIO, shellThread, (void *) &shell_cfg1);
113
              }
113
              }
114
        #else
114
        #else
115
                shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE, "shell", NORMALPRIO, shellThread, (void *) &shell_cfg1);
115
                shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE, "shell", NORMALPRIO, shellThread, (void *) &shell_cfg1);
Line 148... Line 148...
148
        halInit();
148
        halInit();
149
        chSysInit();
149
        chSysInit();
150
 
150
 
151
 
151
 
152
 
152
 
153
#if (HAL_USE_SERIAL_USB == TRUE)
153
#if (HAL_USE_SERIAL_ == TRUE)
154
  /*
154
  /*
155
   * Initializes a serial-over-USB CDC driver.
155
   * Initializes a serial-over- CDC driver.
156
   */
156
   */
157
  sduObjectInit(&SDU1);
157
  sduObjectInit(&SDU1);
158
  sduStart(&SDU1, &serusbcfg);
158
  sduStart(&SDU1, &sercfg);
159
 
159
 
160
#if  HAL_USE_USB_DUAL_CDC == TRUE
160
#if  HAL_USE__DUAL_CDC == TRUE
161
  sduObjectInit(&SDU2);
161
  sduObjectInit(&SDU2);
162
  sduStart(&SDU2, &serusbcfg2);
162
  sduStart(&SDU2, &sercfg2);
163
#endif
163
#endif
164
 
164
 
165
  /*
165
  /*
166
   * Activates the USB driver and then the USB bus pull-up on D+.
166
   * Activates the  driver and then the  bus pull-up on D+.
167
   * Note, a delay is inserted in order to not have to disconnect the cable
167
   * Note, a delay is inserted in order to not have to disconnect the cable
168
   * after a reset.
168
   * after a reset.
169
   */
169
   */
170
  usbDisconnectBus(serusbcfg.usbp);
170
  DisconnectBus(sercfg.p);
171
  chThdSleepMilliseconds(1000);
171
  chThdSleepMilliseconds(1000);
172
  usbStart(serusbcfg.usbp, &usbcfg);
172
  Start(sercfg.p, &cfg);
173
  usbConnectBus(serusbcfg.usbp);
173
  ConnectBus(sercfg.p);
174
#else
174
#else
175
  /*
175
  /*
176
   * Initializes serial port.
176
   * Initializes serial port.
177
   */
177
   */
178
  sdStart(&SD2, NULL);
178
  sdStart(&SD2, NULL);
179
#endif /* HAL_USE_SERIAL_USB */
179
#endif /* HAL_USE_SERIAL_ */
180
 
180
 
181
          // Ignition timing code
181
          // Ignition timing code
182
        initTimers();
182
        initTimers();
183
 
183
 
184
   useAdc();
184
   useAdc();
Line 245... Line 245...
245
    font_sig_digits(64,52,4,-1,  getDelta());
245
    font_sig_digits(64,52,4,-1,  getDelta());
246
 
246
 
247
 
247
 
248
         display();
248
         display();
249
 
249
 
-
 
250
 
250
         chMtxUnlock(&mutexDisplay);
251
         chMtxUnlock(&mutexDisplay);
251
         //
252
         //
252
//       invertDisplay(x & 32);
253
//       invertDisplay(x & 32);
253
 
254
 
254
         chThdSleep(chTimeMS2I(10));
255
         chThdSleep(chTimeMS2I(10));
Line 258... Line 259...
258
 // shell thread  code . dead at present
259
 // shell thread  code . dead at present
259
//        /*
260
//        /*
260
//         * Normal main() thread activity, spawning shells.
261
//         * Normal main() thread activity, spawning shells.
261
//         */
262
//         */
262
//        while (true) {
263
//        while (true) {
263
//          if (SDU1.config->usbp->state == USB_ACTIVE) {
264
//          if (SDU1.config->p->state == _ACTIVE) {
264
//o           thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
265
//o           thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
265
//                                                    "shell", NORMALPRIO + 1,
266
//                                                    "shell", NORMALPRIO + 1,
266
//                                                    shellThread, (void *)&shell_cfg1);
267
//                                                    shellThread, (void *)&shell_cfg1);
267
//            chThdWait(shelltp);               /* Waiting termination.             */
268
//            chThdWait(shelltp);               /* Waiting termination.             */
268
//          }
269
//          }