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