1053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/*
259aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma * Copyright (C) 2008-2012  OMRON SOFTWARE Co., Ltd.
3053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
4053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * you may not use this file except in compliance with the License.
6053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * You may obtain a copy of the License at
7053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
8053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
10053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * See the License for the specific language governing permissions and
14053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * limitations under the License.
15053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
16053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
17053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#ifndef _NJD_H_
18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define _NJD_H_
19053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
20053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ST_SEARCH_NO_INIT    1
21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ST_SEARCH_READY      2
22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ST_SEARCH_END        3
23053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ST_SEARCH_END_EXT    4
24053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
25053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_FMT_KANAKAN              0x0
26053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_ID_LEN                   (4)
28053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_IDENTIFIER               0x4e4a4443
29053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_COMMON_HEADER_SIZE       0x001C
30053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_POS_DATA_SIZE            0x0c
31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_POS_EXT_SIZE             0x10
32053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_VERSION1                 0x00010000
33053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_VERSION2                 0x00020000
34053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_VERSION3                 0x00030000
35053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_VERSION2_1               0x00020001
36053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
37053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define ADD_WORD_DIC_TYPE_USER  0
38053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define ADD_WORD_DIC_TYPE_LEARN 1
39053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define DIC_FREQ_BASE 0
41053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define DIC_FREQ_HIGH 1000
42053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
43053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define LEARN_DIC_QUE_SIZE        32
44053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define LEARN_DIC_EXT_QUE_SIZE    6
45053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
46053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_GET_DIC_VER(h) NJ_INT32_READ((h)+4)
48053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
49053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
50053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define GET_LOCATION_STATUS(x) ((NJ_UINT8)((x)&0x0f))
51053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
52053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define GET_LOCATION_OPERATION(x) ((NJ_UINT8)(((x) >> 4)&0x0f))
53053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
54053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define SET_LOCATION_OPERATION(ope) ((NJ_UINT16)((ope) << 4))
55053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
56053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
57053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_GET_DIC_FMT(h) ((NJ_UINT8)((*((h)+0x1C)) & 0x03))
58053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
59053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
60053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define CALCULATE_HINDO(freq, base, high, div) \
61053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    ((NJ_HINDO)((((freq) * ((high) - (base))) / (div)) + (base)))
62053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
63053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NORMALIZE_HINDO(freq, max, min) \
64053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    (((freq) < (min)) ? (min) : (((freq) > (max)) ? (max) : (freq)))
65053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
66053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
67053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#endif
68