authorNathael Pajani <nathael.pajani@ed3l.fr>
Tue, 22 Sep 2015 18:40:59 +0000 (20:40 +0200)
committerNathael Pajani <nathael.pajani@ed3l.fr>
Tue, 22 Sep 2015 18:40:59 +0000 (20:40 +0200)
apps/dtplug/usb/main.c

index e612f11..066f637 100644 (file)
 #include "drivers/gpio.h"
 #include "drivers/adc.h"
 #include "drivers/ssp.h"
+#include "drivers/i2c.h"
+#include "extdrv/eeprom.h"
 #include "drivers/usbcore.h"
 #include "lib/stdio.h"
 #include "lib/usb.h"
-#include "extdrv/max31855_thermocouple.h"
+#include "lib/dt_mod_identification.h"
+#include "extdrv/tmp101_temp_sensor.h"
 
 
 #define BOARD_VERSION    0x11
@@ -125,11 +128,6 @@ const struct pio_config common_pins[] = {
        ARRAY_LAST_PIO,
 };
 
-#define MODULE_SELECT_0  LPC_GPIO_1_25
-#define MODULE_SELECT_1  LPC_GPIO_1_26
-#define MODULE_SELECT_2  LPC_GPIO_1_28
-#define MODULE_SELECT_3  LPC_GPIO_1_29
-
 struct pio user_led = LPC_GPIO_0_4;
 struct pio clkout = LPC_CLKOUT_PIO_1_27;
 struct pio isp_button = LPC_GPIO_2_10;
@@ -177,16 +175,18 @@ int adc_display(int adc_num, int uart_num)
        return val;
 }
 
-/* Thermocouple reading */
-const struct max31855_sensor_config thermo = {
-       .ssp_bus_num = 0,
-       .chip_select = MODULE_SELECT_2,
+#define TMP101_ADDR_01  0x94
+struct tmp101_sensor_config tmp101_sensor = {
+       .bus_num = 1,
+    .addr = TMP101_ADDR_01,
+    .resolution = TMP_RES_ELEVEN_BITS,
 };
 
 /***************************************************************************** */
 int main(void)
 {
-       int i = 0;
+       int nb_modules_present = 0;
+       int tmp = 0;
 
        /* Global system inits */
        system_init();
@@ -199,37 +199,41 @@ int main(void)
        adc_on();
        /* Modules SPI Bus */
        ssp_master_on(0, LPC_SSP_FRAME_SPI, 8, 4*1000*1000);
+       /* System I2C bus */
+       i2c_on(0, I2C_CLK_100KHz);
+       /* System I2C bus */
+       i2c_on(1, I2C_CLK_100KHz);
        /* User Led */
        gpio_dir_out(user_led);
 
+       tmp = tmp101_sensor_config(&tmp101_sensor);
+       uprintf(1, "Temp config on sensor 0 (0x%02x) : %d\n", tmp101_sensor.addr, tmp);
 
-       max31855_sensor_config(&thermo);
-
+       tmp101_sensor_start_conversion(&tmp101_sensor);
+       msleep(200);
+       tmp101_sensor_read(&tmp101_sensor, NULL, &tmp);
+       uprintf(1, "Temp : %d\n", tmp);
 /*
        usb_on();
        usb_start(USB_MAX_PACKET_EP0_SIZE);
 */
+/*
+       nb_modules_present = modules_probe();
+       uprintf(1, "Found %d modules.\n", nb_modules_present);
 
-       while (1) {
-               int centi_degrees = 0, ret = 0;
-               uint32_t raw = 0;
 
+       tmp = check_module_presence(3);
+       uprintf(1, "tmp: %d\n", tmp);
+
+       tmp = eeprom_detect(0, 0xA0);
+       uprintf(1, "det: %d\n", tmp);
+*/
+       while (1) {
                gpio_clear(user_led);
                msleep(50);
                gpio_set(user_led);
                msleep(50);
-               adc_display(0, 1);
-
-               ret = max31855_sensor_read(&thermo, &raw, &centi_degrees);
-               if (ret != 0) {
-                       uprintf(1, "Temp err: %d, raw: 0x%08x, i:%d\n", ret, raw, i++);
-               } else {
-                       int abs_centi = centi_degrees;
-                       if (centi_degrees < 0) {
-                               abs_centi = -centi_degrees;
-                       }
-                       uprintf(1, "Temp: %d.%02d\n", (centi_degrees / 100), (abs_centi % 100));
-               }
+//             adc_display(0, 1);
        }
        return 0;
 }