configure to support VERSION
authorNIIBE Yutaka <gniibe@fsij.org>
Wed, 6 Nov 2013 01:48:16 +0000 (10:48 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Wed, 6 Nov 2013 01:48:16 +0000 (10:48 +0900)
20 files changed:
ChangeLog
VERSION [new file with mode: 0644]
boards/FST_01/board.c [deleted file]
boards/FST_01/board.h [deleted file]
boards/FST_01/mcuconf.h [deleted file]
boards/FST_01_00/board.c [deleted file]
boards/FST_01_00/board.h [deleted file]
boards/FST_01_00/mcuconf.h [deleted file]
boards/OLIMEX_STM32_H103/board.c [deleted file]
boards/OLIMEX_STM32_H103/board.h [deleted file]
boards/OLIMEX_STM32_H103/mcuconf.h [deleted file]
boards/STM8S_DISCOVERY/board.c [deleted file]
boards/STM8S_DISCOVERY/board.h [deleted file]
boards/STM8S_DISCOVERY/mcuconf.h [deleted file]
src/config.h.in
src/configure
src/main.c
src/usb_lld.h
vendor/flying-stone-technology/INDEX_EN.HTM [new file with mode: 0644]
vendor/flying-stone-technology/INDEX_JA.HTM [new file with mode: 0644]

index 77f1c0b..58df0ec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2013-11-06  Niibe Yutaka  <gniibe@fsij.org>
+
+       * vender/flying-stone-technology: New.
+
+2013-11-05  Niibe Yutaka  <gniibe@fsij.org>
+
+       * VERSION: New file.
+
+       * src/configure (SERIALNO, SERIALNO_STR_LEN_DEFINE): New.
+       (REVISION): Use the file VERSION if it doesn't have .git.
+       * src/config.h.in (SERIALNO_STR_LEN_DEFINE): New.
+       * src/main.c (vcom_string3): Removed.
+       (ID_OFFSET): New, using SERIALNO_STR_LEN.
+
 2013-11-03  Niibe Yutaka  <gniibe@fsij.org>
 
        * chopstx: Update to 0.01.
diff --git a/VERSION b/VERSION
new file mode 100644 (file)
index 0000000..82f3c06
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+release/1.0
diff --git a/boards/FST_01/board.c b/boards/FST_01/board.c
deleted file mode 100644 (file)
index 950af29..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "config.h"
-#include "ch.h"
-#include "hal.h"
-
-/*
- * Board-specific initialization code.
- */
-void boardInit(void)
-{
-}
diff --git a/boards/FST_01/board.h b/boards/FST_01/board.h
deleted file mode 100644 (file)
index fd0b48e..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
-
-    This file is part of ChibiOS/RT.
-
-    ChibiOS/RT is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 3 of the License, or
-    (at your option) any later version.
-
-    ChibiOS/RT is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-                                      ---
-
-    A special exception to the GPL can be applied should you wish to distribute
-    a combined work that includes ChibiOS/RT, without being obliged to provide
-    the source code for any proprietary components. See the file exception.txt
-    for full details of how and when the exception can be applied.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for the FST-01 board.
- */
-#define        SET_USB_CONDITION(en) en        /* To connect USB, call palSetPad */
-#define        SET_LED_CONDITION(on) on        /* To emit light, call palSetPad */
-#define GPIO_USB       GPIOA_USB_ENABLE
-#define IOPORT_USB     GPIOA
-#define GPIO_LED       GPIOB_LED
-#define IOPORT_LED     GPIOB
-
-/* NeuG settings for ADC2.  */
-#define NEUG_ADC_SETTING2_SMPR1 0
-#define NEUG_ADC_SETTING2_SMPR2 ADC_SMPR2_SMP_AN0(ADC_SAMPLE_1P5)    \
-                              | ADC_SMPR2_SMP_AN9(ADC_SAMPLE_1P5)
-#define NEUG_ADC_SETTING2_SQR3  ADC_SQR3_SQ1_N(ADC_CHANNEL_IN0)      \
-                              | ADC_SQR3_SQ2_N(ADC_CHANNEL_IN9)
-#define NEUG_ADC_SETTING2_NUM_CHANNELS 2
-
-/*
- * Board identifier.
- */
-#define BOARD_FST_01
-#define BOARD_NAME "FST-01"
-
-/*
- * Board frequencies.
- */
-#define STM32_LSECLK            32768
-#define STM32_HSECLK            12000000
-
-/*
- * MCU type, this macro is used by both the ST library and the ChibiOS/RT
- * native STM32 HAL.
- */
-#define STM32F10X_MD
-
-/*
- * IO pins assignments.
- */
-#define GPIOB_LED              0
-#define GPIOA_USB_ENABLE       10
-#define GPIOA_SPI1NSS          4
-
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- *
- * The digits have the following meaning:
- *   0 - Analog input.
- *   1 - Push Pull output 10MHz.
- *   2 - Push Pull output 2MHz.
- *   3 - Push Pull output 50MHz.
- *   4 - Digital input.
- *   5 - Open Drain output 10MHz.
- *   6 - Open Drain output 2MHz.
- *   7 - Open Drain output 50MHz.
- *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
- *   9 - Alternate Push Pull output 10MHz.
- *   A - Alternate Push Pull output 2MHz.
- *   B - Alternate Push Pull output 50MHz.
- *   C - Reserved.
- *   D - Alternate Open Drain output 10MHz.
- *   E - Alternate Open Drain output 2MHz.
- *   F - Alternate Open Drain output 50MHz.
- * Please refer to the STM32 Reference Manual for details.
- */
-
-/*
- * Port A setup.
- * PA0  - input with pull-up (TIM2_CH1): AN0 for NeuG
- * PA1  - input with pull-down (TIM2_CH2)
- * PA2  - input with pull-up (TIM2_CH3) connected to CIR module
- * PA3  - input with pull-up: external pin available to user
- * PA4  - Push pull output           (SPI1_NSS)
- * PA5  - Alternate Push pull output (SPI1_SCK)
- * PA6  - Alternate Push pull output (SPI1_MISO)
- * PA7  - Alternate Push pull output (SPI1_MOSI)
- * PA10 - Push pull output   (USB 1:ON 0:OFF)
- * PA11 - input with pull-up (USBDM)
- * PA12 - input with pull-up (USBDP)
- * Everything input with pull-up except:
- */
-#define VAL_GPIOACRL            0xBBB38888      /*  PA7...PA0 */
-#define VAL_GPIOACRH            0x88888388      /* PA15...PA8 */
-#define VAL_GPIOAODR            0xFFFFFFFD
-
-/*
- * Port B setup.
- * PB1  - input with pull-up: AN9 for NeuG
- * Everything input with pull-up except:
- * PB0  - Push pull output   (LED 1:ON 0:OFF)
- */
-#define VAL_GPIOBCRL            0x88888883      /*  PB7...PB0 */
-#define VAL_GPIOBCRH            0x88888888      /* PB15...PB8 */
-#define VAL_GPIOBODR            0xFFFFFFFF
-
-/*
- * Port C setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOCCRL            0x88888888      /*  PC7...PC0 */
-#define VAL_GPIOCCRH            0x88888888      /* PC15...PC8 */
-#define VAL_GPIOCODR            0xFFFFFFFF
-
-/*
- * Port D setup.
- * Everything input with pull-up except:
- * PD0  - Normal input (XTAL).
- * PD1  - Normal input (XTAL).
- */
-#define VAL_GPIODCRL            0x88888844      /*  PD7...PD0 */
-#define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
-#define VAL_GPIODODR            0xFFFFFFFF
-
-/*
- * Port E setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
-#define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
-#define VAL_GPIOEODR            0xFFFFFFFF
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
-  void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/boards/FST_01/mcuconf.h b/boards/FST_01/mcuconf.h
deleted file mode 100644 (file)
index 103aace..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * HAL driver system settings.
- */
-#define STM32_SW                    STM32_SW_PLL
-#define STM32_PLLSRC                STM32_PLLSRC_HSE
-#define STM32_PLLXTPRE              STM32_PLLXTPRE_DIV1
-#define STM32_PLLMUL_VALUE          6
-#define STM32_HPRE                  STM32_HPRE_DIV1
-#define STM32_PPRE1                 STM32_PPRE1_DIV2
-#define STM32_PPRE2                 STM32_PPRE2_DIV1
-#define STM32_ADCPRE                STM32_ADCPRE_DIV6
-#define STM32_RTCSEL                STM32_RTCSEL_NOCLOCK
-
-#include "mcuconf-common.h"
diff --git a/boards/FST_01_00/board.c b/boards/FST_01_00/board.c
deleted file mode 100644 (file)
index 950af29..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "config.h"
-#include "ch.h"
-#include "hal.h"
-
-/*
- * Board-specific initialization code.
- */
-void boardInit(void)
-{
-}
diff --git a/boards/FST_01_00/board.h b/boards/FST_01_00/board.h
deleted file mode 100644 (file)
index 45a88f6..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
-    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
-
-    This file is part of ChibiOS/RT.
-
-    ChibiOS/RT is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 3 of the License, or
-    (at your option) any later version.
-
-    ChibiOS/RT is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-                                      ---
-
-    A special exception to the GPL can be applied should you wish to distribute
-    a combined work that includes ChibiOS/RT, without being obliged to provide
-    the source code for any proprietary components. See the file exception.txt
-    for full details of how and when the exception can be applied.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for the FST-01 board (experimental version 00).
- */
-#define        SET_USB_CONDITION(en) en        /* To connect USB, call palSetPad */
-#define        SET_LED_CONDITION(on) on        /* To emit light, call palSetPad */
-#define GPIO_USB       GPIOA_USB_ENABLE
-#define IOPORT_USB     GPIOA
-#define GPIO_LED       GPIOA_LED
-#define IOPORT_LED     GPIOA
-
-/* NeuG settings for ADC2 is default.  */
-
-/*
- * Board identifier.
- */
-#define BOARD_FST_01
-#define BOARD_NAME "FST-01-00"
-
-/*
- * Board frequencies.
- */
-#define STM32_LSECLK            32768
-#define STM32_HSECLK            8000000
-
-/*
- * MCU type, this macro is used by both the ST library and the ChibiOS/RT
- * native STM32 HAL.
- */
-#define STM32F10X_MD
-
-/*
- * IO pins assignments.
- */
-#define GPIOA_LED                8
-#define GPIOA_USB_ENABLE         10
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- *
- * The digits have the following meaning:
- *   0 - Analog input.
- *   1 - Push Pull output 10MHz.
- *   2 - Push Pull output 2MHz.
- *   3 - Push Pull output 50MHz.
- *   4 - Digital input.
- *   5 - Open Drain output 10MHz.
- *   6 - Open Drain output 2MHz.
- *   7 - Open Drain output 50MHz.
- *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
- *   9 - Alternate Push Pull output 10MHz.
- *   A - Alternate Push Pull output 2MHz.
- *   B - Alternate Push Pull output 50MHz.
- *   C - Reserved.
- *   D - Alternate Open Drain output 10MHz.
- *   E - Alternate Open Drain output 2MHz.
- *   F - Alternate Open Drain output 50MHz.
- * Please refer to the STM32 Reference Manual for details.
- */
-
-/*
- * Port A setup.
- * PA0  - Digital input with PullUp.  AN0
- * PA1  - Digital input with PullUp.  AN1
- * PA11 - input with pull-up (USBDM)
- * PA12 - input with pull-up (USBDP)
- * Everything input with pull-up except:
- * PA8  - Push pull output   (LED 1:ON 0:OFF)
- * PA10 - Push pull output   (USB 1:ON 0:OFF)
- */
-#define VAL_GPIOACRL            0x88888888      /*  PA7...PA0 */
-#define VAL_GPIOACRH            0x88888383      /* PA15...PA8 */
-#define VAL_GPIOAODR            0xFFFFFFFF
-
-/*
- * Port B setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOBCRL            0x88888888      /*  PB7...PB0 */
-#define VAL_GPIOBCRH            0x88888888      /* PB15...PB8 */
-#define VAL_GPIOBODR            0xFFFFFFFF
-
-/*
- * Port C setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOCCRL            0x88888888      /*  PC7...PC0 */
-#define VAL_GPIOCCRH            0x88888888      /* PC15...PC8 */
-#define VAL_GPIOCODR            0xFFFFFFFF
-
-/*
- * Port D setup.
- * Everything input with pull-up except:
- * PD0  - Normal input (XTAL).
- * PD1  - Normal input (XTAL).
- */
-#define VAL_GPIODCRL            0x88888844      /*  PD7...PD0 */
-#define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
-#define VAL_GPIODODR            0xFFFFFFFF
-
-/*
- * Port E setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
-#define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
-#define VAL_GPIOEODR            0xFFFFFFFF
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
-  void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/boards/FST_01_00/mcuconf.h b/boards/FST_01_00/mcuconf.h
deleted file mode 100644 (file)
index 8bbd4e0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * HAL driver system settings.
- */
-#define STM32_SW                    STM32_SW_PLL
-#define STM32_PLLSRC                STM32_PLLSRC_HSE
-#define STM32_PLLXTPRE              STM32_PLLXTPRE_DIV1
-#define STM32_PLLMUL_VALUE          9
-#define STM32_HPRE                  STM32_HPRE_DIV1
-#define STM32_PPRE1                 STM32_PPRE1_DIV2
-#define STM32_PPRE2                 STM32_PPRE2_DIV1
-#define STM32_ADCPRE                STM32_ADCPRE_DIV6
-#define STM32_RTCSEL                STM32_RTCSEL_NOCLOCK
-
-#include "mcuconf-common.h"
diff --git a/boards/OLIMEX_STM32_H103/board.c b/boards/OLIMEX_STM32_H103/board.c
deleted file mode 100644 (file)
index 950af29..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "config.h"
-#include "ch.h"
-#include "hal.h"
-
-/*
- * Board-specific initialization code.
- */
-void boardInit(void)
-{
-}
diff --git a/boards/OLIMEX_STM32_H103/board.h b/boards/OLIMEX_STM32_H103/board.h
deleted file mode 100644 (file)
index f54d940..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
-    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
-
-    This file is part of ChibiOS/RT.
-
-    ChibiOS/RT is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 3 of the License, or
-    (at your option) any later version.
-
-    ChibiOS/RT is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-                                      ---
-
-    A special exception to the GPL can be applied should you wish to distribute
-    a combined work that includes ChibiOS/RT, without being obliged to provide
-    the source code for any proprietary components. See the file exception.txt
-    for full details of how and when the exception can be applied.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for the Olimex STM32-H103 proto board.
- */
-#define        SET_USB_CONDITION(en) (!en)     /* To connect USB, call palClearPad */
-#define        SET_LED_CONDITION(on) (!on)     /* To emit light, call palClearPad */
-#define GPIO_USB       GPIOC_DISC
-#define IOPORT_USB     GPIOC
-#define GPIO_LED       GPIOC_LED
-#define IOPORT_LED     GPIOC
-
-/* NeuG settings for ADC2.  */
-#define NEUG_ADC_SETTING2_SMPR1 ADC_SMPR1_SMP_AN10(ADC_SAMPLE_1P5) \
-                              | ADC_SMPR1_SMP_AN11(ADC_SAMPLE_1P5)
-#define NEUG_ADC_SETTING2_SMPR2 0
-#define NEUG_ADC_SETTING2_SQR3  ADC_SQR3_SQ1_N(ADC_CHANNEL_IN10)   \
-                              | ADC_SQR3_SQ2_N(ADC_CHANNEL_IN11)
-#define NEUG_ADC_SETTING2_NUM_CHANNELS 2
-
-/*
- * Board identifier.
- */
-#define BOARD_OLIMEX_STM32_H103
-#define BOARD_NAME "Olimex STM32-H103"
-
-/*
- * Board frequencies.
- */
-#define STM32_LSECLK            32768
-#define STM32_HSECLK            8000000
-
-/*
- * MCU type, this macro is used by both the ST library and the ChibiOS/RT
- * native STM32 HAL.
- */
-#define STM32F10X_MD
-
-/*
- * IO pins assignments.
- */
-#define GPIOA_BUTTON            0
-#define GPIOA_SPI1NSS           4
-
-#define GPIOB_SPI2NSS           12
-
-#define GPIOC_MMCWP             6
-#define GPIOC_MMCCP             7
-#define GPIOC_CANCNTL           10
-#define GPIOC_DISC              11
-#define GPIOC_LED               12
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- *
- * The digits have the following meaning:
- *   0 - Analog input.
- *   1 - Push Pull output 10MHz.
- *   2 - Push Pull output 2MHz.
- *   3 - Push Pull output 50MHz.
- *   4 - Digital input.
- *   5 - Open Drain output 10MHz.
- *   6 - Open Drain output 2MHz.
- *   7 - Open Drain output 50MHz.
- *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
- *   9 - Alternate Push Pull output 10MHz.
- *   A - Alternate Push Pull output 2MHz.
- *   B - Alternate Push Pull output 50MHz.
- *   C - Reserved.
- *   D - Alternate Open Drain output 10MHz.
- *   E - Alternate Open Drain output 2MHz.
- *   F - Alternate Open Drain output 50MHz.
- * Please refer to the STM32 Reference Manual for details.
- */
-
-/*
- * Port A setup.
- * Everything input with pull-up except:
- * PA0  - Normal input      (BUTTON).
- * PA2  - Alternate output  (USART2 TX).
- * PA3  - Normal input      (USART2 RX).
- */
-#define VAL_GPIOACRL            0x88884B84      /*  PA7...PA0 */
-#define VAL_GPIOACRH            0x88888888      /* PA15...PA8 */
-#define VAL_GPIOAODR            0xFFFFFFFF
-
-/*
- * Port B setup.
- * Everything input with pull-up except:
- * PB13 - Alternate output  (MMC SPI2 SCK).
- * PB14 - Normal input      (MMC SPI2 MISO).
- * PB15 - Alternate output  (MMC SPI2 MOSI).
- */
-#define VAL_GPIOBCRL            0x88888888      /*  PB7...PB0 */
-#define VAL_GPIOBCRH            0xB4B88888      /* PB15...PB8 */
-#define VAL_GPIOBODR            0xFFFFFFFF
-
-/*
- * Port C setup.
- * PC0  - Digital input with PullUp.  AN10
- * PC1  - Digital input with PullUp.  AN11
- * Everything input with pull-up except:
- * PC6  - Normal input because there is an external resistor.
- * PC7  - Normal input because there is an external resistor.
- * PC11 - Open Drain output (USB disconnect).
- * PC12 - Push Pull output (LED).
- */
-#define VAL_GPIOCCRL            0x44888888      /*  PC7...PC0 */
-#define VAL_GPIOCCRH            0x88837888      /* PC15...PC8 */
-#define VAL_GPIOCODR            0xFFFFFFFF
-
-/*
- * Port D setup.
- * Everything input with pull-up except:
- * PD0  - Normal input (XTAL).
- * PD1  - Normal input (XTAL).
- */
-#define VAL_GPIODCRL            0x88888844      /*  PD7...PD0 */
-#define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
-#define VAL_GPIODODR            0xFFFFFFFF
-
-/*
- * Port E setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
-#define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
-#define VAL_GPIOEODR            0xFFFFFFFF
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
-  void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/boards/OLIMEX_STM32_H103/mcuconf.h b/boards/OLIMEX_STM32_H103/mcuconf.h
deleted file mode 100644 (file)
index 8bbd4e0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * HAL driver system settings.
- */
-#define STM32_SW                    STM32_SW_PLL
-#define STM32_PLLSRC                STM32_PLLSRC_HSE
-#define STM32_PLLXTPRE              STM32_PLLXTPRE_DIV1
-#define STM32_PLLMUL_VALUE          9
-#define STM32_HPRE                  STM32_HPRE_DIV1
-#define STM32_PPRE1                 STM32_PPRE1_DIV2
-#define STM32_PPRE2                 STM32_PPRE2_DIV1
-#define STM32_ADCPRE                STM32_ADCPRE_DIV6
-#define STM32_RTCSEL                STM32_RTCSEL_NOCLOCK
-
-#include "mcuconf-common.h"
diff --git a/boards/STM8S_DISCOVERY/board.c b/boards/STM8S_DISCOVERY/board.c
deleted file mode 100644 (file)
index 950af29..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "config.h"
-#include "ch.h"
-#include "hal.h"
-
-/*
- * Board-specific initialization code.
- */
-void boardInit(void)
-{
-}
diff --git a/boards/STM8S_DISCOVERY/board.h b/boards/STM8S_DISCOVERY/board.h
deleted file mode 100644 (file)
index a281251..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
-    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
-
-    This file is part of ChibiOS/RT.
-
-    ChibiOS/RT is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 3 of the License, or
-    (at your option) any later version.
-
-    ChibiOS/RT is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-                                      ---
-
-    A special exception to the GPL can be applied should you wish to distribute
-    a combined work that includes ChibiOS/RT, without being obliged to provide
-    the source code for any proprietary components. See the file exception.txt
-    for full details of how and when the exception can be applied.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for the ST-Link part of STM8S-Discovery board.
- */
-#undef SET_USB_CONDITION               /* No functionality to disconnect USB */
-#define        SET_LED_CONDITION(on) on        /* To emit light, call palSetPad */
-#define GPIO_LED       GPIOA_LED
-#define IOPORT_LED     GPIOA
-
-/* NeuG settings for ADC2 is default.  */
-
-/*
- * Board identifier.
- */
-#define BOARD_ST_DISCOVERY
-#define BOARD_NAME "STM8S Discovery"
-
-/*
- * Board frequencies.
- */
-#define STM32_LSECLK            32768
-#define STM32_HSECLK            8000000
-
-/*
- * MCU type, this macro is used by both the ST library and the ChibiOS/RT
- * native STM32 HAL.
- */
-#define STM32F10X_MD
-
-/*
- * IO pins assignments.
- */
-#define GPIOA_LED                8
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- *
- * The digits have the following meaning:
- *   0 - Analog input.
- *   1 - Push Pull output 10MHz.
- *   2 - Push Pull output 2MHz.
- *   3 - Push Pull output 50MHz.
- *   4 - Digital input.
- *   5 - Open Drain output 10MHz.
- *   6 - Open Drain output 2MHz.
- *   7 - Open Drain output 50MHz.
- *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
- *   9 - Alternate Push Pull output 10MHz.
- *   A - Alternate Push Pull output 2MHz.
- *   B - Alternate Push Pull output 50MHz.
- *   C - Reserved.
- *   D - Alternate Open Drain output 10MHz.
- *   E - Alternate Open Drain output 2MHz.
- *   F - Alternate Open Drain output 50MHz.
- * Please refer to the STM32 Reference Manual for details.
- */
-
-/*
- * Port A setup.
- * PA0  - Digital input with PullUp.  AN0
- * PA1  - Digital input with PullUp.  AN1
- * PA11 - input with pull-up (USBDM)
- * PA12 - input with pull-up (USBDP)
- * Everything input with pull-up except:
- * PA8  - Push pull output   (LED 1:ON 0:OFF)
- */
-#define VAL_GPIOACRL            0x88888888      /*  PA7...PA0 */
-#define VAL_GPIOACRH            0x88888883      /* PA15...PA8 */
-#define VAL_GPIOAODR            0xFFFFFFFF
-
-/*
- * Port B setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOBCRL            0x88888888      /*  PB7...PB0 */
-#define VAL_GPIOBCRH            0x88888888      /* PB15...PB8 */
-#define VAL_GPIOBODR            0xFFFFFFFF
-
-/*
- * Port C setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOCCRL            0x88888888      /*  PC7...PC0 */
-#define VAL_GPIOCCRH            0x88888888      /* PC15...PC8 */
-#define VAL_GPIOCODR            0xFFFFFFFF
-
-/*
- * Port D setup.
- * Everything input with pull-up except:
- * PD0  - Normal input (XTAL).
- * PD1  - Normal input (XTAL).
- */
-#define VAL_GPIODCRL            0x88888844      /*  PD7...PD0 */
-#define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
-#define VAL_GPIODODR            0xFFFFFFFF
-
-/*
- * Port E setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
-#define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
-#define VAL_GPIOEODR            0xFFFFFFFF
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
-  void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/boards/STM8S_DISCOVERY/mcuconf.h b/boards/STM8S_DISCOVERY/mcuconf.h
deleted file mode 100644 (file)
index 8bbd4e0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * HAL driver system settings.
- */
-#define STM32_SW                    STM32_SW_PLL
-#define STM32_PLLSRC                STM32_PLLSRC_HSE
-#define STM32_PLLXTPRE              STM32_PLLXTPRE_DIV1
-#define STM32_PLLMUL_VALUE          9
-#define STM32_HPRE                  STM32_HPRE_DIV1
-#define STM32_PPRE1                 STM32_PPRE1_DIV2
-#define STM32_PPRE2                 STM32_PPRE2_DIV1
-#define STM32_ADCPRE                STM32_ADCPRE_DIV6
-#define STM32_RTCSEL                STM32_RTCSEL_NOCLOCK
-
-#include "mcuconf-common.h"
index d11baa2..c27fbf0 100644 (file)
@@ -1,2 +1,3 @@
 @DFU_DEFINE@
 @TARGET_DEFINE@
+@SERIALNO_STR_LEN@
index 2339f08..71fd479 100755 (executable)
@@ -28,6 +28,7 @@ vidpid=none
 with_dfu=default
 debug=no
 sys1_compat=yes
+with_fraucheky=no
 
 # Process each option
 for option; do
@@ -53,6 +54,10 @@ for option; do
     with_dfu=yes ;;
   --without-dfu)
     with_dfu=no ;;
+  --with-fraucheky=*)
+    with_fraucheky=$optarg ;;
+  --without-fraucheky)
+    with_fraucheky=no ;;
   *)
     echo "Unrecognized option \`$option'" >&2
     echo "Try \`$0 --help' for more information." >&2
@@ -82,6 +87,10 @@ Configuration:
                           executable is target independent
                           but requires SYS 2.0 or newer
   --with-dfu           build image for DFU             [<target specific>]
+
+  --with-fraucheky=VID:PID
+                       include fraucheky support       [no]
+  --with-index=INDEX   specify INDEX file              [INDEX.HTM]
 EOF
   exit 0
 fi
@@ -140,7 +149,18 @@ else
   DFU_DEFINE="#undef DFU_SUPPORT"
 fi
 
-REVISION=`git describe --dirty="-modified"` 
+if test -d ../.git; then
+  REVISION=`git describe --dirty="-modified"` 
+else
+  REVISION=`cat ../VERSION`
+fi
+
+### !!! Replace following string of "FSIJ" to yours !!! ####
+SERIALNO="FSIJ-`cat ../VERSION | sed -e 's%^[^/]*/%%'`-"
+
+SERIALNO_STR_LEN_DEFINE="#define SERIALNO_STR_LEN ${#SERIALNO}"
+
+
 CONFIG="$target:dfu=$with_dfu"
 
 if !(IFS="     "
@@ -163,6 +183,15 @@ if !(IFS=" "
        echo $PRODUCT | sed -n -e "s/\(........\)/\1\n/gp" | sed -n -e "s/\(.\)/'\1', 0, /g" -e "s/^/  /" -e "s/ $//p"
        echo '};'
        echo
+       echo 'static uint8_t neug_string_serial[] = {'
+       echo "  ${#SERIALNO}*2+2+16,                    /* bLength */"
+       echo "  USB_STRING_DESCRIPTOR_TYPE,     /* bDescriptorType */"
+       echo "  /* Serial number: \"$SERIALNO\" */"
+       echo $SERIALNO | sed -n -e "s/\(........\)/\1\n/gp" | sed -n -e "s/\(.\)/'\1', 0, /g" -e "s/^/  /" -e "s/ $//p"
+       echo "  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,"
+       echo "  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,"
+       echo '};'
+       echo
        echo '#ifdef USB_STRINGS_FOR_NEUG'
        echo 'static const uint8_t neug_revision_detail[] = {'
        echo "  ${#REVISION}*2+2,                       /* bLength */"
@@ -207,5 +236,6 @@ sed -e "s/@ORIGIN@/$ORIGIN/" -e "s/@FLASH_SIZE@/$FLASH_SIZE/" \
        < neug.ld.in > neug.ld
 sed -e "s/@DFU_DEFINE@/$DFU_DEFINE/" \
     -e "s/@TARGET_DEFINE@/$TARGET_DEFINE/" \
+    -e "s/@SERIALNO_STR_LEN@/$SERIALNO_STR_LEN_DEFINE/" \
        < config.h.in > config.h
 exit 0
index db78669..4b0347b 100644 (file)
@@ -177,21 +177,6 @@ static const uint8_t vcom_string0[4] = {
 #define USB_STRINGS_FOR_NEUG 1
 #include "usb-strings.c.inc"
 
-/*
- * Serial Number string.  NOTE: This does not have CONST qualifier.
- */
-static uint8_t vcom_string3[28] = {
-  28,                               /* bLength.                         */
-  USB_STRING_DESCRIPTOR_TYPE,       /* bDescriptorType.                 */
-  '0', 0,  '.', 0,  '1', 0, '1', 0, /* Version number of NeuG.          */
-  '-', 0,
-  0, 0, 0, 0,  /* Filled by Unique device ID.      */
-  0, 0, 0, 0,
-  0, 0, 0, 0,
-  0, 0, 0, 0,
-};
-
-
 #define NUM_INTERFACES 2
 
 
@@ -490,8 +475,8 @@ usb_cb_get_descriptor (uint8_t rcp, uint8_t desc_type, uint8_t desc_index,
          size = sizeof (neug_string_product);
          break;
        case 3:
-         str = vcom_string3;
-         size = sizeof (vcom_string3);
+         str = neug_string_serial;
+         size = sizeof (neug_string_serial);
          break;
        case 4:
          str = neug_revision_detail;
@@ -643,11 +628,11 @@ usb_intr (void *arg)
   return NULL;
 }
 
-
+#define ID_OFFSET (2+SERIALNO_STR_LEN*2)
 static void fill_serial_no_by_unique_id (void)
 {
   extern const uint8_t * unique_device_id (void);
-  uint8_t *p = &vcom_string3[12];
+  uint8_t *p = &neug_string_serial[ID_OFFSET];
   const uint8_t *u = unique_device_id ();
   int i;
 
index a9f0158..2c7a931 100644 (file)
@@ -89,7 +89,6 @@ enum DEVICE_STATE
   CONFIGURED
 };
 
-extern const uint8_t usb_initial_feature;
 
 extern void usb_lld_init (uint8_t feature);
 
diff --git a/vendor/flying-stone-technology/INDEX_EN.HTM b/vendor/flying-stone-technology/INDEX_EN.HTM
new file mode 100644 (file)
index 0000000..eee1a45
--- /dev/null
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head><title>How to use this device</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+</head>
+
+<body>
+<h1>How to use this device</h1>
+<h2>Introduction</h2>
+<p>NeuG, the true random nunber generator, is installed on this device.</p>
+<p>Now, you are accessing this file.
+   It means that the device is running as USB memory
+   (USB Mass Storage Class device).</p>
+<p>By your action of "eject"-ing USB memory on your desktop, the device
+   will become a different device, starting NeuG.</p>
+<p>If you want to let start NeuG from the beginning
+   when you plug in the device, please follow the instruction below titled: 
+   "Let start NeuG from the beginning".</p>
+
+<h2>Let start NeuG from the beginning</h2>
+<ol>
+  <li>Save INDEX.HTM, README and COPYING files onto your PC.</li>
+  <li>Write something to the folder "DROPHERE".  For example,
+      drag&amp;drop README to DROPHERE.</li>
+  <li>By doing this, from next time, it will start NeuG from the beginning
+      (instead of USB memory).</li>
+</ol>
+
+<h2>How to use NeuG</h2>
+<p>NeuG runs as USB CDC/ACM 
+  (Communication Device Class / Abstract Control Model) device.</p>
+<p>The USB CDC/ACM (Communication Device Class / Abstract Control Model)
+   is used primarily for modems.
+   If you are using some control program for your modems,
+   you need to configure it, so that it won't interfere NeuG device.
+   If you are not using modems with such a control program, simply,
+   you may remove modem management package from your system
+   to avoid interference.  For example, remove the package "modemmanager",
+   when you are using Debian GNU/Linux.</p>
+<p>No special driver is required on GNU/Linux.
+   You can just access /dev/ttyACM? (e.g., /dev/ttyACM0)
+   to get random byte stream.</p>
+
+<h3>Configuration of tty line discipline</h3>
+<p>Don't forget to configure tty line disciple to get correct data.
+Between the device and application, there is "tty line discipline"
+which might interpret and translate the stream (newline, eof, etc.).
+This functionality should be disabled.</p>
+<p>Using stty command, please configure the line discipline
+with no echo and raw mode.</p>
+<blockquote>
+  <pre>
+  $ stty -F /dev/ttyACM0 -echo raw -parenb
+  </pre>
+</blockquote>
+
+<p>You can select filter by parity settings.</p>
+  <ul>
+    <li>Even parity (parenb -parodd) means: Raw ADC sample data</li>
+    <blockquote>
+      <pre>
+  $ stty -F /dev/ttyACM0 parenb -parodd
+      </pre>
+    </blockquote>
+    <li>Odd parity (parenb parodd) means: Only CRC32 filter</li>
+    <blockquote>
+      <pre>
+  $ stty -F /dev/ttyACM0 parenb parodd
+      </pre>
+    </blockquote>
+    <li>No parity (-parenb): CRC32 filter + SHA256 filter</li>
+    <blockquote>
+      <pre>
+  $ stty -F /dev/ttyACM0 -parenb
+      </pre>
+    </blockquote>
+  </ul>
+
+<h3>Example command to get random output</h3>
+<p>For example, you can get random bytes of 1MiB to the file "output"
+   by typing:</p>
+<blockquote>
+  <pre>
+  $ dd bs=1024 if=/dev/ttyACM0 iflag=fullblock count=1024 of=output
+  </pre>
+</blockquote>
+
+<h3>Use the NeuG device with rng-tools</h3>
+<p>Usually, you would like to use NeuG device under control of rng-tools,
+to feed entropy to /dev/random, the random device in kernel.</p>
+
+<p>Please see <a href="http://no-passwd.net/askbot/question/45/how-can-i-use-neug-standalone-device-on-my-debian/">Debian usage</a> for detail.</p>
+
+<h2>README, GNU GPL and Corresponding Source code</h2>
+<p>In this product, it contains copyrighted software that is licensed under
+   the GPLv3.  Please see README for the explanation of the software and see
+   GNU GPLv3 for terms and conditions.</p>
+<p>You may obtain the complete Corresponding Source code from git repositories.
+   In the Gnuk repository, we have sub-repository named "neug", which 
+   contains the source code of NeuG.
+   NeuG uses external source code of Chopstx for RTOS, and Fraucheky for
+   GPL container.  Those code are availabe in the Chopstx repository.</p>
+<p>In the git repositories, we have release tags.
+   You may examine the release tag of the product by the command,
+   tool/neug_check.py which is available in the NeuG repository.</p>
+</p>
+<ul>
+  <li><a href=README>README</a></li>
+  <li><a href=COPYING>GNU GPLv3</a></li>
+  <li><a href="https://gitorious.org/gnuk/">Gnuk Repository</a></li>
+  <li><a href="https://gitorious.org/chopstx/">Chopstx Repository</a></li>
+</ul>
+
+<h2>Links</h2>
+<ul>
+  <li><a href="http://no-passwd.net/askbot/">FST-01 Q&amp;A site</a></li>
+  <li><a href="https://no-passwd.net/wws/info/fst-01">
+      Mailing list: FST-01 discussion</a></li>
+  <li><a href="http://www.gniibe.org/">gniib.org home page</a></li>
+  <li><a href="http://www.gnu.org/gnu/manifesto.ja.html">
+      GNU Manifesto (Japanese Translation)</a></li>
+</ul>
+
+<h2>Concluding remarks</h2>
+<p>I wish you enjoy your freedom on computing with NeuG.
+   Thank you for your cooperation.</p>
+
+
+</body>
+</html>
diff --git a/vendor/flying-stone-technology/INDEX_JA.HTM b/vendor/flying-stone-technology/INDEX_JA.HTM
new file mode 100644 (file)
index 0000000..d4d4b4a
--- /dev/null
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+<head><title>このデバイスの使い方</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+</head>
+<body>
+<h1>このデバイスの使い方</h1>
+<h2>はじめに</h2>
+<p>このデバイスには乱数生成器の実装NeuGがインストールされています。</p>
+<p>このファイルをアクセスしている現在、デバイスはUSBメモリとして動いています。</p>
+<p>USBメモリを「取り出す」動作で、異なるUSBデバイスとしてNeuGが起動されます。</p>
+<p>デバイスを挿入した起動時からNeuGを動かしたい場合、「起動時からNeuGを動かす」の操作を行ってください。</p>
+
+<h2>起動時からNeuGを動かす</h2>
+<ol>
+  <li>このファイル(INDEX.HTM), README, COPYING (GNU GPL)をPC上に保存してください。</li>
+  <li>フォルダDROPHEREになにか書き込んでください。たとえばREADMEをドラッグ&amp;ドロップしてください。</li>
+  <li>上記の操作で、次回以降の起動では(USBメモリとしてではなく)、NeuGが起動します。</li>
+</ol>
+
+<h2>NeuGの使い方</h2>
+<p>NeuGはUSB CDC/ACMデバイスとして動作します。</p>
+<p>このデバイスはモデムに使われるものです。モデム管理ソフトウェアは外します。
+たとえばDebian GNU/Linuxでは、パッケージmodemmanagerをインストールしないでください。</p>
+<p>GNU/Linuxでは特別なドライバは必要なく、/dev/ttyACM? (たとえば /dev/ttyACM0)としてアクセスします。</p>
+
+<h3>端末(TTYラインディシプリン)の設定</h3>
+<p>正しい出力を受けとるには、端末(TTYラインディシプリン)の設定を忘れずに行ってください。
+次のように stty コマンドで、エコー処理なしとし、raw モードを指定します。</p>
+<blockquote>
+  <pre>
+  $ stty -F /dev/ttyACM0 -echo raw -parenb
+  </pre>
+</blockquote>
+
+<p>パリティ指定で乱数生成のフィルタの選択が行えます。</p>
+  <ul>
+    <li>偶パリティ指定 (parenb -parodd): ADCの生サンプルデータ</li>
+    <blockquote>
+      <pre>
+  $ stty -F /dev/ttyACM0 parenb -parodd
+      </pre>
+    </blockquote>
+    <li>奇パリティ指定 (parenb parodd): CRC32フィルタのみ</li>
+    <blockquote>
+      <pre>
+  $ stty -F /dev/ttyACM0 parenb parodd
+      </pre>
+    </blockquote>
+    <li>パリティなし指定 (-parenb): CRC32フィルタ+SHA256フィルタ</li>
+    <blockquote>
+      <pre>
+  $ stty -F /dev/ttyACM0 -parenb
+      </pre>
+    </blockquote>
+  </ul>
+
+<h3>出力を受け取る例</h3>
+<p>たとえば、1MiBをファイルoutputに受け取る場合は次のようにします。</p>
+<blockquote>
+  <pre>
+  $ dd bs=1024 if=/dev/ttyACM0 iflag=fullblock count=1024 of=output
+  </pre>
+</blockquote>
+
+<h3>rng-toolsで使う</h3>
+<p>システムとして利用ではNeuGの出力をrng-toolsで管理し、カーネルのrandomデバイスに供給するのが一般的でしょう。</p>
+
+<p>これに関しては、<a href="http://no-passwd.net/askbot/question/45/how-can-i-use-neug-standalone-device-on-my-debian/">Debianでの利用例(英語)</a>をご覧ください。</p>
+
+<h2>READMEとGNU GPLおよび完全なソースコード</h2>
+<p>この製品には著作権を主張するソフトウェアが含まれ、GNU GPLv3で配布されています。ソフトウェアの説明の文書README(英語)と、許諾の条件GNU GPLv3(英語)を、それぞれご覧ください。</p>
+<p>この製品にインストールされているソフトウェアに対応する完全なソースコードは、Gnukリポジトリから入手できます。このリポジトリのサブリポジトリneugがNeuGのソースコードリポジトリです。RTOSのChopstxとGPLフロシキのFrauchekyを用いています。これらはChopstxリポジトリから入手できます。</p>
+<p>リポジトリには参照のためのリリースタグがついています。製品に利用されているコードのリリースタグは、NeuGリポジトリにあるコマンドtool/neug_check.pyで確認できます。</p>
+<ul>
+  <li><a href=README>README</a></li>
+  <li><a href=COPYING>GNU GPLv3</a></li>
+  <li><a href="https://gitorious.org/gnuk/">Gnukリポジトリ</a></li>
+  <li><a href="https://gitorious.org/chopstx/">Chopstxリポジトリ</a></li>
+</ul>
+
+<h2>リンク</h2>
+<ul>
+  <li><a href="https://no-passwd.net/wws/info/gnuk-users-ja">
+      メーリングリスト: Gnuk Users in Japanese</a></li>
+  <li><a href="http://no-passwd.net/askbot/">質問(英語): FST-01 Q&amp;A site</a></li>
+  <li><a href="http://www.gniibe.org/">gniib.orgホームページ</a></li>
+</ul>
+
+<h2>おわりに</h2>
+自由なコンピューティングがなんとか生き残ることを望みます。
+皆様のご理解とご協力に感謝します。
+
+</body>
+</html>