altos: product defines are always in ao_product.h
[fw/altos] / src / ao_product.c
index b42e62c09a800c92644542a63795d59cb537c017..fb59580b8d4b123b729cf0a0712495282eac8da5 100644 (file)
  */
 
 #include "ao.h"
-#include "ao_usb.h"
-#include PRODUCT_DEFS
+#include "ao_product.h"
 
 /* Defines which mark this particular AltOS product */
 
-const uint16_t ao_serial_number = AO_iSerial_NUMBER;
-const char ao_version[] = AO_iVersion_STRING;
+const char ao_version[AO_MAX_VERSION] = AO_iVersion_STRING;
 const char ao_manufacturer[] = AO_iManufacturer_STRING;
 const char ao_product[] = AO_iProduct_STRING;
 
 #define LE_WORD(x)    ((x)&0xFF),((uint8_t) (((uint16_t) (x))>>8))
 
+#if HAS_USB
+#include "ao_usb.h"
 /* USB descriptors in one giant block of bytes */
-const uint8_t ao_usb_descriptors [] =
+__code __at(0x00aa) uint8_t ao_usb_descriptors [] =
 {
        /* Device descriptor */
        0x12,
@@ -40,7 +40,7 @@ const uint8_t ao_usb_descriptors [] =
        0x00,                   /*  bDeviceProtocol */
        AO_USB_CONTROL_SIZE,    /*  bMaxPacketSize */
        LE_WORD(0xFFFE),        /*  idVendor */
-       LE_WORD(0x000A),        /*  idProduct */
+       LE_WORD(AO_idProduct_NUMBER),   /*  idProduct */
        LE_WORD(0x0100),        /*  bcdDevice */
        0x01,                   /*  iManufacturer */
        0x02,                   /*  iProduct */
@@ -152,3 +152,4 @@ const uint8_t ao_usb_descriptors [] =
        /* Terminating zero */
        0
 };
+#endif