From d1de9db3ae0f3a6144a17e39612b72cc7da0f3fc Mon Sep 17 00:00:00 2001 From: Seoghyun Kang Date: Thu, 23 May 2019 19:16:03 +0900 Subject: [PATCH] Remove the unused file and code Change-Id: If67676cb087375548a3ee3c8b65c79ababe110b3 --- inc/distance.h | 30 --- inc/resource.h | 1 - inc/resource/resource_oled.h | 40 ---- inc/resource/resource_oled_internal.h | 35 --- inc/resource_internal.h | 2 - inc/st_things.h | 299 -------------------------- inc/st_things_types.h | 319 --------------------------- src/lidar-sensor.c | 198 +---------------- src/resource/resource_illuminance_sensor.c | 6 +- src/resource/resource_oled.c | 334 ----------------------------- 10 files changed, 6 insertions(+), 1258 deletions(-) delete mode 100644 inc/distance.h delete mode 100644 inc/resource/resource_oled.h delete mode 100644 inc/resource/resource_oled_internal.h delete mode 100644 inc/st_things.h delete mode 100644 inc/st_things_types.h delete mode 100644 src/resource/resource_oled.c diff --git a/inc/distance.h b/inc/distance.h deleted file mode 100644 index 041e540..0000000 --- a/inc/distance.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2019 G.camp, - * - * Contact: Jin Seog Bang - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __distance_H__ -#define __distance_H__ - -#include - -#ifdef LOG_TAG -#undef LOG_TAG -#endif -#define LOG_TAG "distance" - - -#endif /* __distance_H__ */ diff --git a/inc/resource.h b/inc/resource.h index 25fde2e..8782274 100644 --- a/inc/resource.h +++ b/inc/resource.h @@ -23,7 +23,6 @@ #include "resource_internal.h" #include "resource/resource_illuminance_sensor.h" -#include "resource/resource_oled.h" #include "resource/resource_led.h" #endif /* __POSITION_FINDER_RESOURCE_H__ */ diff --git a/inc/resource/resource_oled.h b/inc/resource/resource_oled.h deleted file mode 100644 index 954550c..0000000 --- a/inc/resource/resource_oled.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2019 G.camp, - * - * Contact: Jin Seog Bang - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __RESOURCE_SERVO_MOTOR_H__ -#define __RESOURCE_SERVO_MOTOR_H__ - -void resource_close_servo_motor(void); - -void resource_close_OLED(void); - -/** - * This module is sample codes to handling Servo motors in Tizen platform. - * Hardware is configured with HS-53, - * Bus : 0 - * Pin : 2 - * @param[in] duty_cycle_ms - * @return 0 on success, otherwise a negative error value - */ -int resource_set_servo_motor_value(double duty_cycle_ms); - -int resource_OLED_initial(int i2c_bus); - -int resource_OLED_disp_logo(int i2c_bus); - -#endif /* __RESOURCE_SERVO_MOTOR_H__ */ diff --git a/inc/resource/resource_oled_internal.h b/inc/resource/resource_oled_internal.h deleted file mode 100644 index 95d500c..0000000 --- a/inc/resource/resource_oled_internal.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2019 G.camp, - * - * Contact: Jin Seog Bang - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __RESOURCE_DISTANCE_SENSOR_INTERNAL_H__ -#define __RESOURCE_DISTANCE_SENSOR_INTERNAL_H__ - - -void resource_close_OLED(void); - -/** - * This module is sample codes to handling Servo motors in Tizen platform. - * Hardware is configured with HS-53, - * Bus : 0 - * Pin : 2 - * @param[in] duty_cycle_ms - * @return 0 on success, otherwise a negative error value - */ - - -#endif /* __RESOURCE_DISTANCE_SENSOR_INTERNAL_H__ */ diff --git a/inc/resource_internal.h b/inc/resource_internal.h index bab5e5d..944c274 100644 --- a/inc/resource_internal.h +++ b/inc/resource_internal.h @@ -23,8 +23,6 @@ #include "resource/resource_illuminance_sensor_internal.h" -#include "resource/resource_oled_internal.h" - #define PIN_MAX 40 struct _resource_s { diff --git a/inc/st_things.h b/inc/st_things.h deleted file mode 100644 index 16f90ef..0000000 --- a/inc/st_things.h +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright (c) 2019 G.camp, - * - * Contact: Jin Seog Bang - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __ST_THINGS_H__ -#define __ST_THINGS_H__ - -#include -#include - -#ifdef __ST_THINGS_RTOS__ -#include -#else -#include "st_things_types.h" -#endif // __ST_THINGS_RTOS__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/** - * @brief Set prefix paths (ReadOnly and ReadWrite) for configuration files for the device. - * This is Optional API, and should be used if relative location is used in - * filePath variable in JSON Configuration file. - * @param[in] ro_path Prefix Path for Read Only directory location. - * @param[in] rw_path Prefix Path for Read Write directory location. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter(both ro_path and rw_path are NULL). - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - * @retval #ST_THINGS_ERROR_STACK_ALREADY_INITIALIZED Stack already initialized. - * To set Prefix Paths, stack should be deinitilized first by calling st_things_deinitialize(). - * @retval #ST_THINGS_ERROR_STACK_RUNNING Stack is currently running. - * To set Prefix Paths, stack should be stopped first by calling st_things_stop() - * and then deinitialized by calling st_things_deinitialize(). - */ -int st_things_set_configuration_prefix_path(const char* ro_path, const char* rw_path); - -/** - * @brief Initializes things stack and returns whether easy-setup is completed or not. - * Easy-setup enable users to acquire the ownership of things and to connect the things with the cloud. - * After performing easy-setup, users can access things from anywhere through the cloud. - * In things stack, easy-setup is a primary and the first operation to be performed on the thing. - * Application running on the thing can know whether easy-setup is done already or not. - * If easy-setup is done, app can start the things stack by calling st_things_start(). - * If easy-setup is not done, app can either wait for the user interaction before starting the things stack or - * start the things stack directly without waiting for any events(This case is for those things which doesn't - * support input capability and for all other unknown cases). - * To use a new json file after initialization, stack should be deinitialized - * and stopped(if its started already). - * @param[in] json_path Path to Json file which defines a thing. Definition includes the device information, - * resources and their properties, configuration info for connectivity and easy-setup, etc. - * @param[out] easysetup_complete Indicates whether easysetup is completed already or not. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - * @retval #ST_THINGS_ERROR_STACK_ALREADY_INITIALIZED Stack already initialized. - * To initialize again, stack should be deinitilized first by calling st_things_deinitialize(). - * @retval #ST_THINGS_ERROR_STACK_RUNNING Stack is currently running. - * To initialize again, stack should be stopped first by calling st_things_stop() - * and then deinitialized by calling st_things_deinitialize(). - */ -int st_things_initialize(const char *json_path, bool *easysetup_complete); - -/** - * @brief Deinitializes things stack. - * Stack should have been initialized before calling this API. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - * @retval #ST_THINGS_ERROR_STACK_NOT_INITIALIZED Stack is not initialized. - * Initialize the stack by calling st_things_initialize(). - * @retval #ST_THINGS_ERROR_STACK_RUNNING Stack is currently running. - * Before deinitialize, stack needs to be stopped by calling st_things_stop(). - */ -int st_things_deinitialize(void); - -/** - * @brief Callback for handling GET request. - * @param[in] req_msg GET request message. - * @param[out] resp_rep Representation that will be set to payload of response. - * @return @c true in case of success, otherwise @c false - */ -typedef bool (*st_things_get_request_cb)(st_things_get_request_message_s *req_msg, st_things_representation_s *resp_rep); - -/** - * @brief Callback for handling SET(POST) request. - * @param[in] req_msg SET request message. - * @param[out] resp_rep Representation that will be set to payload of response. - * @return @c true in case of success, otherwise @c false - */ -typedef bool (*st_things_set_request_cb)(st_things_set_request_message_s *req_msg, st_things_representation_s *resp_rep); - -/** - * @brief Callback registration function for handling request messages. - * @details The callbacks ensure that a request message will be carried with one of the resource uris from json file of st_things_start(). - * @remarks Only one callback function can be set with this API.\n - * If multiple callbacks are set, the last one is registered only.\n - * And the callbacks are called in the internal thread, which is not detached,\n - * so application should return it to get the next callbacks. - * @param[in] get_cb Reference of the callback function to handle GET request. - * @param[in] set_cb Reference of the callback function to handle SET(POST) request. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - */ -int st_things_register_request_cb(st_things_get_request_cb get_cb, st_things_set_request_cb set_cb); - -/** - * @brief Starts things stack. - * Parses the thing definition(whose path is passed to st_things_initialize(), configures the thing, - * creates the resources and prepares it for easy-setup. - * If easy-setup is not done yet, onboarding will be started using either SoftAP or BLE connection. - * Onboarding creates an ad-hoc network between the thing and the client for performing easy-setup. - * If easy-setup is already done, thing will be connected with the cloud. - * Application can know whether easy-setup is done or not through st_things_initialize API. - * Stack should have been initialized before calling this API. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful. - * It is also used for the case that the stack is started already. - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - * @retval #ST_THINGS_ERROR_STACK_NOT_INITIALIZED Stack is not initialized. - * Initialize the stack by calling st_things_initialize(). - */ -int st_things_start(void); - -/** - * @brief Stops things stack. - * Removes all the data being used internally and releases all the memory allocated for the stack. - * Stack should have been initialized and started before calling this API. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - * @retval #ST_THINGS_ERROR_STACK_NOT_INITIALIZED Stack is not initialized. - * Initialize the stack by calling st_things_initialize(). - * @retval #ST_THINGS_ERROR_STACK_NOT_STARTED Stack is not started. - * Start the stack by calling st_things_start(). - */ -int st_things_stop(void); - -/** - * @brief Callback for getting user's opinion regarding device reset. - * @return @c true to confirm, otherwise @c to deny - */ -typedef bool (*st_things_reset_confirm_cb)(void); - -/** - * @brief Callback for carrying the result of reset. - * @param[in] is_success Result of Stack-reset. (true : success, false : failure) - */ -typedef void (*st_things_reset_result_cb)(bool is_success); - -/** - * @brief Callback registration function for Reset-Confirmation and Reset-Result functions. - * @remarks Only one callback function can be set with this API.\n - * If multiple callbacks are set, the last one is registered only.\n - And the callbacks are called in the internal thread, which is not detached,\n - * so application should return it to get the next callbacks. - * @param[in] confirm_cb Callback function that will be called to get the user's input when reset is triggered. - * @param[in] result_cb Callback function that will be called after the reset process is done. - * This parameter can be NULL if notification for result of reset is not needed. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - */ -int st_things_register_reset_cb(st_things_reset_confirm_cb confirm_cb, st_things_reset_result_cb result_cb); - -/** - * @brief Reset all the data related to security and cloud being used in the stack. - * Stack should have been initialized and started before calling this API. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - * @retval #ST_THINGS_ERROR_STACK_NOT_INITIALIZED Stack is not intialized. - * Initialize the stack by calling st_things_initialize(). - * @retval #ST_THINGS_ERROR_STACK_NOT_STARTED Stack is not started. - * Start the stack by calling st_things_start(). - */ -int st_things_reset(void); - -/** - * @brief Callback for carrying the randomly generated PIN info. - * @details Device should show the PIN on display. - * @param[in] pin_data PIN data in string format. - * @param[in] pin_size Length of the PIN String. - */ -typedef void (*st_things_pin_generated_cb)(const char *pin_data, const size_t pin_size); - -/** - * @brief Callback for informing the application to close the PIN display. - */ -typedef void (*st_things_pin_display_close_cb)(void); - -/** - * @brief Callback registration function for getting randomly generated PIN for the PIN-Based Ownership Transfer Request. - * @remarks Only one callback function can be set with this API.\n - * If multiple callbacks are set, the last one is registered only.\n - * And the callbacks are called in the internal thread, which is not detached,\n - * so application should return it to get the next callbacks. - * @param[in] generated_cb Callback function that will be called when device receives a Ownership Transfer request from client. - * @param[in] close_cb Callback function that will be called when Ownership Transfer is done so device can stop showing PIN on display. - * This parameter can be NULL if stop triggering is not needed. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - */ -int st_things_register_pin_handling_cb(st_things_pin_generated_cb generated_cb, st_things_pin_display_close_cb close_cb); - -/** - * @brief Callback for getting user's input regarding mutual verification. - * @return @c true true in cse of confirmed, otherwise @c false - */ -typedef bool (*st_things_user_confirm_cb)(void); - -/** - * @brief Callback registration function for getting user confirmation for MUTUAL VERIFICATION BASED JUST WORK Ownership transfer. - * @remarks Only one callback function can be set with this API.\n - * If multiple callbacks are set, the last one is registered only.\n - * And the callbacks are called in the internal thread, which is not detached,\n - * so application should return it to get the next callbacks. - * @param[in] confirm_cb Callback function that will be called when device receives a confirm request from client. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - */ -int st_things_register_user_confirm_cb(st_things_user_confirm_cb confirm_cb); - -/** - * @brief Callback for getting the current state of ST Things. - * @param[in] things_status ST Things State - */ -typedef void (*st_things_status_change_cb)(st_things_status_e things_status); - -/** - * @brief Callback registration function for getting notified when ST Things state changes. - * @remarks Only one callback function can be set with this API.\n - * If multiple callbacks are set, the last one is registered only.\n - * And the callbacks are called in the internal thread, which is not detached,\n - * so application should return it to get the next callbacks. - * @param[in] status_cb Refernce of the callback function to get ST Things status - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - */ -int st_things_register_things_status_change_cb(st_things_status_change_cb status_cb); - -/** - * @brief Notify the observers of a specific resource. - * Stack should have been initialized and started before calling this API. - * @param[in] resource_uri Resource URI of the resource which will be notified to observers. - * @return @c 0 on success, otherwise a negative error value - * @retval #ST_THINGS_ERROR_NONE Successful - * @retval #ST_THINGS_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #ST_THINGS_ERROR_OPERATION_FAILED Operation failed - * @retval #ST_THINGS_ERROR_STACK_NOT_INITIALIZED Stack is not intialized. - * Initialize the stack by calling st_things_initialize(). - * @retval #ST_THINGS_ERROR_STACK_NOT_STARTED Stack is not started. - * Start the stack by calling st_things_start(). - */ -int st_things_notify_observers(const char *resource_uri); - -/** - * @brief Create an instance of representation. - * @remarks To destroy an instance, st_things_destroy_representation_inst() should be used. - * @return a pointer of the created representation, otherwise a null pointer if the memory is insufficient. - */ -st_things_representation_s *st_things_create_representation_inst(void); - -/** - * @brief Destroy an instance of representation. - * @param[in] rep Representation that will be destroyed. - */ -void st_things_destroy_representation_inst(st_things_representation_s *rep); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __ST_THINGS_H__ */ diff --git a/inc/st_things_types.h b/inc/st_things_types.h deleted file mode 100644 index 06f0675..0000000 --- a/inc/st_things_types.h +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright (c) 2019 G.camp, - * - * Contact: Jin Seog Bang - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __ST_THINGS_TYPES_H__ -#define __ST_THINGS_TYPES_H__ - -#include -#include -#include - -/** - * @brief Enumeration for ST Things error code. - */ -typedef enum { - ST_THINGS_ERROR_NONE = 0, /**< Successful */ - ST_THINGS_ERROR_INVALID_PARAMETER = -1, /**< Invalid parameter (If parameter is null or empty)*/ - ST_THINGS_ERROR_OPERATION_FAILED = -2, /**< Operation Failed */ - ST_THINGS_ERROR_STACK_NOT_INITIALIZED = -3, /**< Stack is not yet initialized*/ - ST_THINGS_ERROR_STACK_ALREADY_INITIALIZED = -4, /**< Stack is already initialized*/ - ST_THINGS_ERROR_STACK_NOT_STARTED = -5, /**< Stack is not yet started*/ - ST_THINGS_ERROR_STACK_RUNNING = -6, /**< Stack is currently running*/ -} st_things_error_e; - -/** - * @brief Enumeration for ST Things status. - */ -typedef enum { - ST_THINGS_STATUS_INIT = 0, /**< Initial state of ST Things */ - ST_THINGS_STATUS_ES_STARTED, /**< Easy-setup is started */ - ST_THINGS_STATUS_ES_DONE, /**< Easy-setup is done */ - ST_THINGS_STATUS_ES_FAILED_ON_OWNERSHIP_TRANSFER, /**< Easy-setup failed due to Ownership-Transfer failure */ - ST_THINGS_STATUS_CONNECTING_TO_AP, /**< Connecting to target Wi-Fi access point */ - ST_THINGS_STATUS_CONNECTED_TO_AP, /**< Connected to target Wi-Fi access point */ - ST_THINGS_STATUS_CONNECTING_TO_AP_FAILED, /**< Failed to connect to target Wi-Fi access point */ - ST_THINGS_STATUS_REGISTERING_TO_CLOUD, /**< Trying to Sign-up/Sign-in/Publish-Resource(s) to Cloud */ - ST_THINGS_STATUS_REGISTERED_TO_CLOUD, /**< Publish resource(s) to cloud is complete. Now the Thing is ready to be controlled via Cloud */ - ST_THINGS_STATUS_REGISTERING_FAILED_ON_SIGN_IN, /**< Failed to sign-in to Cloud */ - ST_THINGS_STATUS_REGISTERING_FAILED_ON_PUB_RES /**< Failed to publish resources to Cloud */ -} st_things_status_e; - -/** - * @brief Structure for Representation. - */ -typedef struct _st_things_representation -{ - void* payload; /**< Payload of representation */ - - /** - * @brief API for getting the value of string type property with a key. - * @remarks This API will return deep-copied string value as out parameter, so application must free it after use. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[out] value String value - * @return @c true if value exist, otherwise @c false - */ - bool (*get_str_value) (struct _st_things_representation* rep, const char* key, char** value); - - /** - * @brief API for getting the value of boolean type property with a key. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[out] value Bool value - * @return @c true if value exist, otherwise @c false - */ - bool (*get_bool_value) (struct _st_things_representation* rep, const char* key, bool* value); - - /** - * @brief API for getting the value of integer type property with a key. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[out] value Integer value - * @return @c true if value exist, otherwise @c false - */ - bool (*get_int_value) (struct _st_things_representation* rep, const char* key, int64_t* value); - - /** - * @brief API for getting the value of double type property with a key. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[out] value Double value - * @return @c true if value exist, otherwise @c false - */ - bool (*get_double_value) (struct _st_things_representation* rep, const char* key, double* value); - - /** - * @brief API for getting the value of byte array type property with a key. - * @remarks This API will return deep-copied byte value as out parameter, so application must free it after use. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[out] value Byte value - * @param[out] size Size of Byte value - * @return @c true if value exist, otherwise @c false - */ - bool (*get_byte_value) (struct _st_things_representation* rep, const char* key, uint8_t** value, size_t* size); - - /** - * @brief API for getting the value of object type property with a key. - * @remarks This API will return deep-copied object value as out parameter, so application must free it after use.\n - * To free an object, st_things_destroy_representation_inst() in st_things.h should be used. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[out] value Object value - * @return @c true if value exist, otherwise @c false - */ - bool (*get_object_value) (struct _st_things_representation* rep, const char* key, struct _st_things_representation** value); - - /** - * @brief API for setting the value of string type property with a key. - * @remarks This API will deep-copy the string value inside, so application still has an ownership of memory for the string value. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the value. - * @param[in] value String value. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_str_value) (struct _st_things_representation* rep, const char* key, const char* value); - - /** - * @brief API for setting the value of boolean type property with a key. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the value. - * @param[in] value Bool value. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_bool_value) (struct _st_things_representation* rep, const char* key, bool value); - - /** - * @brief API for setting the value of integer type property with a key. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the value. - * @param[in] value Integer value. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_int_value) (struct _st_things_representation* rep, const char* key, int64_t value); - - /** - * @brief API for setting the value of double type property with a key. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the value. - * @param[in] value Double value. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_double_value) (struct _st_things_representation* rep, const char* key, double value); - - /** - * @brief API for setting the value of byte array type property with a key. - * @remarks This API will deep-copy the byte value inside, so application still has an ownership of memory for the byte value. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the value. - * @param[in] value Byte value. - * @param[in] size Size of Byte value. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_byte_value) (struct _st_things_representation* rep, const char* key, const uint8_t* value, size_t size); - - /** - * @brief API for setting the value of object type property with a key. - * @remarks This API will deep-copy the object value inside, so application still has an ownership of memory for the object value. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the value. - * @param[in] value Object value. - * @return @c true if value exist, otherwise @c false - */ - bool (*set_object_value) (struct _st_things_representation* rep, const char* key, const struct _st_things_representation* value); - - /** - * @brief API for getting the value of string array type property with a key. - * @remarks This API will return deep-copied array value as out parameter, so application must free it after use. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the array type of value. - * @param[out] array Reference of the string array to where the value will be copied. - * @param[out] length Total number of elements in the array. - * @return @c true if value exist, otherwise @c false - */ - bool (*get_str_array_value) (struct _st_things_representation* rep, const char* key, char*** array, size_t* length); - - /** - * @brief API for getting the value of integer array type property with a key. - * @remarks This API will return deep-copied array value as out parameter, so application must free it after use. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the array type of value. - * @param[out] array Reference of the integer array where the value will be copied. - * @param[out] length Total number of elements in the array. - * @return @c true if value exist, otherwise @c false - */ - bool (*get_int_array_value) (struct _st_things_representation* rep, const char* key, int64_t** array, size_t* length); - - /** - * @brief API for getting the value of double array type property with a key. - * @remarks This API will return deep-copied array value as out parameter, so application must free it after use. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which will represent the array type of value. - * @param[out] array Reference of the double array where the value will be copied. - * @param[out] length Total number of elements in the array. - * @return @c true if value exist, otherwise @c false - */ - bool (*get_double_array_value) (struct _st_things_representation* rep, const char* key, double** array, size_t* length); - - /** - * @brief API for getting the value of object array type property with a key. - * @remarks This API will return deep-copied array value as out parameter, so application must free it after use.\n - * To free each object in array, st_things_destroy_representation_inst() in st_things.h should be used. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the array type of value. - * @param[out] array Reference of the object array where the value will be copied. - * @param[out] length Total number of elements in the array. - * @return @c true if value exist, otherwise @c false - */ - bool (*get_object_array_value) (struct _st_things_representation* rep, const char* key, struct _st_things_representation*** array, size_t* length); - - /** - * @brief API for setting the value of string array type property with a key. - * @remarks This API will deep-copy the array value inside, so application still has an ownership of memory for the array value. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[in] array String array type value. - * @param[in] length Total number of elements in the array. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_str_array_value) (struct _st_things_representation* rep, const char* key, const char** array, size_t length); - - /** - * @brief API for setting the value of integer array type property with a key. - * @remarks This API will deep-copy the array value inside, so application still has an ownership of memory for the array value. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[in] array Integer array type value. - * @param[in] length Total number of elements in the array. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_int_array_value) (struct _st_things_representation* rep, const char* key, const int64_t* array, size_t length); - - /** - * @brief API for setting the value of double array type property with a key. - * @remarks This API will deep-copy the array value inside, so application still has an ownership of memory for the array value. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[in] array Double array type value. - * @param[in] length Total number of elements in the array. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_double_array_value) (struct _st_things_representation* rep, const char* key, const double* array, size_t length); - - /** - * @brief API for setting the value of object array type property with a key. - * @remarks This API will deep-copy the array value inside, so application still has an ownership of memory for the array value. - * @param[in] rep Instance of Representation. - * @param[in] key Property Name which represents the value. - * @param[in] array Object array type value. - * @param[in] length Total number of elements in the array. - * @return @c true if setting value is successful, otherwise @c false - */ - bool (*set_object_array_value) (struct _st_things_representation* rep, const char* key, const struct _st_things_representation** array, size_t length); - -} st_things_representation_s; - -/** - * @brief Structure for representing the Get Request Message. - */ -typedef struct _st_things_get_request_message -{ - char* resource_uri; /**< Resource URI */ - char* query; /**< One or more query parameters of the request message. Ex: key1=value1;key2=value2;... */ - char* property_key; /**< One or more property key that application needs to set a value for response. Ex: key1;key2;... */ - - /** - * @brief API for getting the value of a specific query from the query parameters of the request. - * @param[in] req_msg Instance of get request message. - * @param[in] key Name of the query.(ex: key1, key2, etc) - * @param[out] value Value of the query.(value1, value2, etc) - * @return @c true if query exist, otherwise @c false - */ - bool (*get_query_value) (struct _st_things_get_request_message* req_msg, const char* key, char** value); - - /** - * @brief API for checking whether the request has a specific property key or not. - * @param[in] req_msg Instance of get request message. - * @param[in] key Name of the property. - * @return @c true if the property key exists, otherwise @c false - */ - bool (*has_property_key) (struct _st_things_get_request_message* req_msg, const char* key); - -} st_things_get_request_message_s; - -/** - * @brief Structure for representing the Set Request Message. - */ -typedef struct _st_things_set_request_message -{ - char* resource_uri; /**< Resource URI */ - char* query; /**< One or more query parameters of the request message. Ex: key1=value1?key2=value2?... */ - struct _st_things_representation* rep; /**< Representation of the set request message */ - - /** - * @brief API for getting the value of a specific query from the query parameters of the request. - * @param[in] req_msg Instance of request message. - * @param[in] key Name of the query.(ex: key1, key2, etc) - * @param[out] value Value of the query.(value1, value2, etc) - * @return @c true if query exist, otherwise @c false - */ - bool (*get_query_value) (struct _st_things_set_request_message* req_msg, const char* key, char** value); - -} st_things_set_request_message_s; - -#endif /* __ST_THINGS_TYPES_H__ */ diff --git a/src/lidar-sensor.c b/src/lidar-sensor.c index 1040f76..f1530d9 100644 --- a/src/lidar-sensor.c +++ b/src/lidar-sensor.c @@ -25,7 +25,6 @@ #include #include -#include "st_things.h" #include "log.h" #include "sensor-data.h" #include "resource.h" @@ -36,10 +35,6 @@ #define SENSOR_KEY_ILLUMINANCE "illuminance" #define SENSOR_KEY_RANGE "range" -#define SENSOR_URI_DOOR "/capability/doorControl/main/0" -#define SENSOR_KEY_DOOR "doorState" -#define SENSOR_POWER_INITIALIZING BLIND_DOWN - #define I2C_BUS_NUMBER (1) #define SENSOR_GATHER_INTERVAL (1.0f) @@ -68,19 +63,15 @@ static inline int __get_lidar(void *data, unsigned int *illuminance_value) retv_if(ret != 0, -1); ret = resource_two_read_set_LIDAR_sensor(I2C_BUS_NUMBER); retv_if(ret != 0, -1); - + usleep(delay_usec); - + ret = resource_read_LIDAR_sensor(I2C_BUS_NUMBER, illuminance_value); retv_if(ret != 0, -1); sensor_data_set_uint(ad->illuminance_data, *illuminance_value); _D2("Distance value : %u", *illuminance_value); -#ifdef USE_ST_SDK - st_things_notify_observers(SENSOR_URI_ILLUMINANCE); -#endif - return 0; } @@ -131,161 +122,6 @@ void gathering_start(void *data) _E("Failed to add getter_illuminance"); } -#ifdef USE_ST_SDK -static bool handle_reset_request(void) -{ - _D("Received a request for RESET."); - return false; -} - -static void handle_reset_result(bool result) -{ - _D("Reset %s.\n", result ? "succeeded" : "failed"); -} - -static bool handle_ownership_transfer_request(void) -{ - _D("Received a request for Ownership-transfer."); - return true; -} - -static void handle_things_status_change(st_things_status_e things_status) -{ - _D("Things status is changed: %d", things_status); - - if (things_status == ST_THINGS_STATUS_REGISTERED_TO_CLOUD) { - ecore_main_loop_thread_safe_call_async(gathering_start, g_ad); - } -} - -static bool handle_get_request(st_things_get_request_message_s* req_msg, st_things_representation_s* resp_rep) -{ - _D("resource_uri [%s]", req_msg->resource_uri); - retv_if(!g_ad, false); - - if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_ILLUMINANCE)) { - if (req_msg->has_property_key(req_msg, SENSOR_KEY_ILLUMINANCE)) { - unsigned int value = 0; - sensor_data_get_uint(g_ad->illuminance_data, &value); - resp_rep->set_int_value(resp_rep, SENSOR_KEY_ILLUMINANCE, value); - } - return true; - // QUIZ - } else if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_DOOR)) { - if (req_msg->has_property_key(req_msg, SENSOR_KEY_DOOR)) { - const char *str = NULL; - sensor_data_get_string(g_ad->power_data, &str); - if (!str) { - str = SENSOR_POWER_INITIALIZING; - } - resp_rep->set_str_value(resp_rep, SENSOR_KEY_DOOR, str); - _D("Power : %s", str); - } - return true; - } - _E("not supported uri"); - return false; -} - -static bool handle_set_request(st_things_set_request_message_s* req_msg, st_things_representation_s* resp_rep) -{ - _D("resource_uri [%s]", req_msg->resource_uri); - retv_if(!g_ad, false); - - // QUIZ - if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_DOOR)) { - int ret = 0; - char *str = NULL; - - if (req_msg->rep->get_str_value(req_msg->rep, SENSOR_KEY_DOOR, &str)) { - retv_if(!str, false); - _D("set [%s:%s] == %s", SENSOR_URI_DOOR, SENSOR_KEY_DOOR, str); - - sensor_data_set_string(g_ad->power_data, str, strlen(str)); - resp_rep->set_str_value(resp_rep, SENSOR_KEY_DOOR, str); - - if (0 == strcmp(str, "opening")) { - ret = __set_servo_motor(g_ad, 1); - } else { - ret = __set_servo_motor(g_ad, 0); - } - free(str); - retv_if(ret != 0, false); - } else { - _E("cannot get a string value"); - } - - return true; - } - return false; -} - -static int __st_things_init(void) -{ - bool easysetup_complete = false; - char app_json_path[128] = {'\0', }; - char *app_res_path = NULL; - char *app_data_path = NULL; - - app_res_path = app_get_resource_path(); - if (!app_res_path) { - _E("app_res_path is NULL!!"); - return -1; - } - - app_data_path = app_get_data_path(); - if (!app_data_path) { - _E("app_data_path is NULL!!"); - free(app_res_path); - return -1; - } - - snprintf(app_json_path, sizeof(app_json_path), "%s%s", app_res_path, JSON_PATH); - - if (0 != st_things_set_configuration_prefix_path(app_res_path, app_data_path)) { - _E("st_things_set_configuration_prefix_path() failed!!"); - free(app_res_path); - free(app_data_path); - return -1; - } - - free(app_res_path); - free(app_data_path); - - if (0 != st_things_initialize(app_json_path, &easysetup_complete)) { - _E("st_things_initialize() failed!!"); - return -1; - } - - _D("easysetup_complete:[%d] ", easysetup_complete); - - st_things_register_request_cb(handle_get_request, handle_set_request); - st_things_register_reset_cb(handle_reset_request, handle_reset_result); - st_things_register_user_confirm_cb(handle_ownership_transfer_request); - st_things_register_things_status_change_cb(handle_things_status_change); - - return 0; -} - -static int __st_things_deinit(void) -{ - st_things_deinitialize(); - return 0; -} - -static int __st_things_start(void) -{ - st_things_start(); - return 0; -} - -static int __st_things_stop(void) -{ - st_things_stop(); - return 0; -} -#endif /* USE_ST_SDK */ - static bool service_app_create(void *user_data) { app_data *ad = (app_data *)user_data; @@ -293,31 +129,15 @@ static bool service_app_create(void *user_data) ad->illuminance_data = sensor_data_new(SENSOR_DATA_TYPE_UINT); if (!ad->illuminance_data) return false; - - resource_write_led(5, 1); - - - - -#ifdef USE_ST_SDK - resource_OLED_initial(I2C_BUS_NUMBER); - resource_OLED_disp_logo(I2C_BUS_NUMBER); - - if (__st_things_init()) - return false; -#endif + resource_write_led(5, 1); return true; } static void service_app_control(app_control_h app_control, void *user_data) { -#ifdef USE_ST_SDK - __st_things_start(); -#else gathering_start(user_data); -#endif } static void service_app_terminate(void *user_data) @@ -327,18 +147,8 @@ static void service_app_terminate(void *user_data) resource_write_led(5, 0); resource_close_all(); - resource_close_OLED(); -/* - resource_close_initial_LIDAR_sensor(); - resource_close_two_read_set_LIDAR_sensor(); - resource_close_read_LIDAR_sensor(); -*/ -#ifdef USE_ST_SDK - __st_things_stop(); - __st_things_deinit(); -#else + gathering_stop(ad); -#endif sensor_data_free(ad->illuminance_data); free(ad); diff --git a/src/resource/resource_illuminance_sensor.c b/src/resource/resource_illuminance_sensor.c index 6076961..f87a743 100644 --- a/src/resource/resource_illuminance_sensor.c +++ b/src/resource/resource_illuminance_sensor.c @@ -165,8 +165,6 @@ int resource_read_LIDAR_sensor(int i2c_bus, uint32_t *out_value) resource_sensor_s.opened = 1; } -// resource_write_led(5, 1); // debug led on - ret = peripheral_i2c_read(resource_sensor_s.sensor_h, buf, 2); if (ret != PERIPHERAL_ERROR_NONE) { @@ -178,7 +176,7 @@ int resource_read_LIDAR_sensor(int i2c_bus, uint32_t *out_value) *out_value = (buf[0] << 8 | buf[1]) / LIDAR_CONSTANT_NUM; - resource_write_led(5, 0); // debug led off + resource_write_led(5, 0); // debug led off return 0; -} +} diff --git a/src/resource/resource_oled.c b/src/resource/resource_oled.c deleted file mode 100644 index 608403f..0000000 --- a/src/resource/resource_oled.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - * Copyright (c) 2019 G.camp, - * - * Contact: Jin Seog Bang - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "log.h" -#include "resource.h" - -/* I2C */ -#define SSD1306_ADDR 0x03c /* Address of SSD1306 OLED */ - -static struct { - int opened; - peripheral_i2c_h sensor_h; -} resource_sensor_s1; - -void resource_close_OLED(void) -{ - if (!resource_sensor_s1.opened) - return; - - _I("OLED display is finishing..."); - peripheral_i2c_close(resource_sensor_s1.sensor_h); - resource_sensor_s1.opened = 0; -} - -int resource_OLED_initial(int i2c_bus) -{ - int ret = PERIPHERAL_ERROR_NONE; - static int write = 0; - unsigned char buff_count ; - unsigned char page_count; - unsigned char buf[10] = { 0, }; - unsigned char tcbuf[10] = { 0, }; - unsigned char tmbuf[30] = { 0xae, 0xd5, 0x80, 0xa8, 0x3f, - 0xd3, 0x00, 0x40, 0x8d, 0x14, - 0x20, 0x00, 0xda, 0x12, 0x81, - 0x9f, 0xd9, 0x22, 0xdb, 0x40, - 0xa4, 0xa6, 0xaf}; - - if (!resource_sensor_s1.opened) { - - ret = peripheral_i2c_open(i2c_bus, SSD1306_ADDR, &resource_sensor_s1.sensor_h); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c open error OLED1 : %s", get_error_message(ret)); - - return -1; - } - resource_sensor_s1.opened = 1; - write = 0; - } - -// buf[0] = 0x00; // OLED control command -// buf[1] = 0xae; // OLED command - -#if 1 - for (buff_count = 0; buff_count < 24; buff_count++) - { - if (!write) { - buf[0] = 0x00; - buf[1] = tmbuf[buff_count]; - - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED : %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - - _I("iic OLED control initial .. step "); - } -#endif - -#if 1 - buf[0] = 0x20; - buf[1] = 0x10; - for (buff_count = 0; buff_count < 2; buff_count++) - { - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 1: %s", get_error_message(ret)); - - return -1; - } - write = 0; //write = 1;??? - } - } - - _I("iic OLED control pageaddr .. step "); -#endif - -#if 1 - tcbuf[0] = 0x21; - tcbuf[1] = 0x00; - tcbuf[2] = 0x7f; - for (buff_count = 0; buff_count < 3; buff_count++) - { - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 2: %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - - } - } - _I("iic OLED control columnaddr .. step "); -#endif - -#if 0 - buf[0] = 0x22; - buf[1] = 0x00; - buf[2] = 0x00; - for (buff_count = 0; buff_count < 3; buff_count++) - { - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 3: %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - } - _I("iic OLED control pageaddr .. step "); -#endif - -#if 1 - for (page_count = 0; page_count < 8; page_count ++) - { - tcbuf[0] = (0xb0 + page_count); - buff_count = 0; - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 4: %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - _I("iic OLED control pageaddr .. step "); - - - for (buff_count = 0; buff_count < 128; buff_count++) - { - if (!write) { - buf[0] = 0x40; - buf[1] = 0x00; - - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 5 : %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - _I("iic OLED data .. step "); - - } - } -#endif - - return 0; -} - -int resource_OLED_disp_logo(int i2c_bus) -{ - int ret = PERIPHERAL_ERROR_NONE; - static int write = 0; - unsigned char buff_count ; - unsigned char page_count; - unsigned char buf[10] = { 0, }; - unsigned char tcbuf[10] = { 0, }; - unsigned char font_G_l[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00, // G font - 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, // - font - 0x00, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, // C font - 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x00, // A font - 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, // M font - 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // P font - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - unsigned char font_G_h[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xf8, 0x04, 0x04, 0x84, 0x84, 0x88, 0x00, - 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, - 0x00, 0xf8, 0x04, 0x04, 0x04, 0x04, 0x08, 0x00, - 0x00, 0xc0, 0x30, 0x0c, 0x0c, 0x30, 0xc0, 0x00, - 0x00, 0xfc, 0x08, 0x70, 0x70, 0x08, 0xfc, 0x00, - 0x00, 0xfc, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - -// resource_write_led(5, 1); - - - tcbuf[0] = 0x21; - tcbuf[1] = 0x00; - tcbuf[2] = 0x7f; - for (buff_count = 0; buff_count < 3; buff_count++) - { - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 2: %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - } - _I("iic OLED control columnaddr .. step "); - - page_count = 2; - tcbuf[0] = (0xb0 + page_count); - buff_count = 0; - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 6: %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - _I("iic OLED logo disp high pageaddr .. step "); - - - for (buff_count = 0; buff_count < 135; buff_count++) - { - if (!write) { - buf[0] = 0x40; - buf[1] = font_G_h[buff_count]; - - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 7 : %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - _I("iic OLED logo font high data .. step "); - - } - - tcbuf[0] = 0x21; - tcbuf[1] = 0x00; - tcbuf[2] = 0x7e; - for (buff_count = 0; buff_count < 3; buff_count++) - { - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 2: %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - } - _I("iic OLED control columnaddr .. step "); - - page_count = 3; - tcbuf[0] = (0xb0 + page_count ); - buff_count = 0; - if (!write) { - buf[0] = 0x00; - buf[1] = tcbuf[buff_count]; - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 6: %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - _I("iic OLED logo disp low pageaddr .. step "); - - for (buff_count = 0; buff_count < 135; buff_count++) - { - if (!write) { - buf[0] = 0x40; - buf[1] = font_G_l[buff_count]; - - ret = peripheral_i2c_write(resource_sensor_s1.sensor_h, buf, 2); - if (ret != PERIPHERAL_ERROR_NONE) { - _E("i2c write error OLED 7 : %s", get_error_message(ret)); - return -1; - } - write = 0; //write = 1;??? - } - _I("iic OLED logo font high data .. step "); - - } - return 0; -} -- 2.7.4