crank storyboard学习笔记(一)环境安装

简介: 如有问题请联系我,微信 814565668.目标:用crank实现仪表盘的动态效果。参考博客:http://blog.csdn.net/guokehello/article/details/51644891他的代码没有验证,这里用的是软件带的sample中的代码。

如有问题请联系我,微信 814565668.

目标:用crank实现仪表盘的动态效果。

参考博客:http://blog.csdn.net/guokehello/article/details/51644891

他的代码没有验证,这里用的是软件带的sample中的代码。应该是差不多一样的。

 

1.环境准备:

1)crank storyboard下载

下载地址:http://www.cranksoftware.com/cranksoftware/v5.1.0/eval/storyboard/Crank_Storyboard_Suite-v5.1.0.exe

30天试用版,需要用手机和邮箱申请。

2)vs2013下载安装

http://download.microsoft.com/download/9/3/E/93EA27FF-DB02-4822-8771-DCA0238957E9/vs2013.5_ult_chs.iso?type=ISO

 

2.软件安装:默认安装即可。

3.运行sample程序。

导入工程

File->Import->Storyboard Sample->storyboard_io,导入就可以了。 
这里写图片描述 
这里写图片描述 
导入后界面显示效果如下,还可以吧,比较绚。下面我们让这个界面动起来。 
这里写图片描述

创建底层数据驱动

Crank Storyboard Suite的特点在于可以方便的开发界面,而且不同平台之间可以方便的移植,底层提供了接口。如果需要换平台的话只需要将底层的数据驱动修改一下就可以运行了。导入的工程里面有如下文件: 
这里写图片描述 
其实这个就是数据驱动的C语言代码了。我这里用的是Visual Studio 2012作为编译环境。新建工程文件,copy以下代码:

 

 

?
/*
  * Copyright 2017, Crank Software Inc. All Rights Reserved.
  *
  * For more information email info@cranksoftware.com.
  */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <inttypes.h>
#ifdef WIN32
#include <windows.h>
#else
#include <unistd.h> // for usleep
#endif
#include "greio.h"
#define CLUSTER_UPDATE_EVENT "cluster_update"
#define CLUSTER_UPDATE_FMT "2u1 speed 2u1 rpm 2u1 fuel 2u1 battery 2u1 oil 2u1 odometer 2u1 trip"
// Cluster update data structure
typedef struct cluster_update_event {
  uint16_t speed;
  uint16_t rpm;
  uint16_t fuel;
  uint16_t battery;
  uint16_t oil;
  uint16_t odometer;
  uint16_t trip;
} cluster_update_event_t;
/**
  * cross-platform sleep
  */
void
sleep_ms( int milliseconds) {
#ifdef WIN32
  Sleep(milliseconds);
#else
  usleep(milliseconds * 1000);
#endif
}
int
main( int argc, char **argv) {
  gre_io_t                    *send_handle;
     gre_io_serialized_data_t    *nbuffer = NULL;
  cluster_update_event_t   event_data;
  int        ret;
   // Connect to a channel to send messages (write)
  send_handle = gre_io_open( "cluster" , GRE_IO_TYPE_WRONLY);
     if (send_handle == NULL) {
         fprintf (stderr, "Can't open send channel\n" );
         return 0;
  }
  memset (&event_data, 0, sizeof (event_data));
  while (1) {
   // Simulate data acquisition ...
   sleep_ms(80);
   event_data.speed = (event_data.speed + 1) % 200;
   event_data.rpm = (event_data.rpm + 50) % 10000;
   // Serialize the data to a buffer
   nbuffer = gre_io_serialize(nbuffer, NULL, CLUSTER_UPDATE_EVENT, CLUSTER_UPDATE_FMT, &event_data, sizeof (event_data));
   if (!nbuffer) {
          fprintf (stderr, "Can't serialized data to buffer, exiting\n" );
    break ;
   }
   // Send the serialized event buffer
   ret = gre_io_send(send_handle, nbuffer);
   if (ret < 0) {
    fprintf (stderr, "Send failed, exiting\n" );
    break ;
   }
  }
  //Release the buffer memory, close the send handle
  gre_io_free_buffer(nbuffer);
  gre_io_close(send_handle);
  return 0;
}


配置一下VC++目录包含目录、库目录以及连接器里面的附加依赖项。关于如何配置这里不再详述,每个编译环境配置有所不同。

修改模拟配置

注意第2)步代码里面的

send_handle = gre_io_open( "cluster", GRE_IO_TYPE_WRONLY );
  • 1

打开的是cluster通道,需要配置一下Storyboard的simulation configurations使得通道名字一致才可以收到信息,操作如下所示: 
这里写图片描述 
这里写图片描述

运行实例

首先点击Simulate storyboard project打开模拟界面,先运行模拟器,再运行vs2013. 然后即可看到仪表盘的变化。 (如果运行vs2013代码有问题,往本文下看)
这里写图片描述 
这里写图片描述 

 

 问题汇总:

1.这个include "greio.h"头文件会报错

解决办法:在crank安装路径里面搜索这个文件,找到后粘贴到当前的这个工程里面。如下

2.提示缺少lib库。

解决办法:

选择要添加lib库的工程,鼠标右键选择属性,在选项的最下面:

 

在属性页左边菜单栏,有很多选项,选择linker->general:

可以看到右边的选项都发生变化了,其中有一项additional library directories,最后面有个下拉按钮,点击下拉按钮,弹出新页面:

单击黄色文件夹状按钮,可以看到下面多了一行可以编辑的。按钮最后的省略号状按钮:

弹出文件夹选择窗口,选择你需要添加的库所在的目录,点击下面的选择按钮:

比如我的是:C:\Program Files (x86)\Crank_Software\Storyboard_Engine\5.1.201707240438\win32-x86-opengles_2.0-obj\lib

 然后在菜单栏选择linker->input:输入你要引用的lib文件名,注意是全名,要加扩展名的:

这样就可以了。

相关文章
|
7月前
|
开发工具 C语言 Windows
【Qt 学习笔记】Qt 开发环境的搭建 | Qt 安装教程
【Qt 学习笔记】Qt 开发环境的搭建 | Qt 安装教程
300 0
|
4月前
Axure 安装使用 FontAwesome
Axure 安装使用 FontAwesome
130 0
Minecraft Fabric 进阶教程 #2 绘制界面
绘制界面不需用注入Mixin
108 0
|
编译器 Python
【ArcGIS教程】ArcPython(1)——PyCharm安装与环境配置
【ArcGIS教程】ArcPython(1)——PyCharm安装与环境配置
【ArcGIS教程】ArcPython(1)——PyCharm安装与环境配置
|
编译器 C++
VS2017+Qt5.12环境搭建完美教程分享
VS2017+Qt5.12环境搭建完美教程分享
|
XML C# 数据格式
Wix 安装部署教程(九) --用WPF做安装界面
原文:Wix 安装部署教程(九) --用WPF做安装界面       经常安装PC端的应用,特别是重装系统之后,大致分为两类。一类像QQ,搜狗输入法这样的。分三步走的:第一个页面可以自定义安装路径和软件许可。
1624 0
|
Linux 定位技术 C语言
Qt5.12下载和安装教程(图文详解,简单易上手)
Qt5.12下载和安装教程(图文详解,简单易上手)
3052 0
Qt5.12下载和安装教程(图文详解,简单易上手)
|
C#
Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面
原文:Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面        在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果。
1605 0