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文件名,注意是全名,要加扩展名的:

这样就可以了。

相关文章
|
6月前
|
编解码 自然语言处理 数据可视化
开发笔记 - storyboard的一些初级使用
开发笔记 - storyboard的一些初级使用
42 0
|
编译器 C++
VS2017+Qt5.12环境搭建完美教程分享
VS2017+Qt5.12环境搭建完美教程分享
|
计算机视觉 C++ Windows
OpenCV教程之4.1.0版与VisualStudio2015环境搭建☀️《❤️记得收藏❤️》
OpenCV教程之4.1.0版与VisualStudio2015环境搭建☀️《❤️记得收藏❤️》
170 0
OpenCV教程之4.1.0版与VisualStudio2015环境搭建☀️《❤️记得收藏❤️》
|
Linux 定位技术 C语言
Qt5.12下载和安装教程(图文详解,简单易上手)
Qt5.12下载和安装教程(图文详解,简单易上手)
2323 0
Qt5.12下载和安装教程(图文详解,简单易上手)
|
XML C# 数据格式
Wix 安装部署教程(九) --用WPF做安装界面
原文:Wix 安装部署教程(九) --用WPF做安装界面       经常安装PC端的应用,特别是重装系统之后,大致分为两类。一类像QQ,搜狗输入法这样的。分三步走的:第一个页面可以自定义安装路径和软件许可。
1559 0
|
存储 开发工具 数据库
在 Xcode 5 的 Storyboard 中使用 UITableView
当我们最开始启动 iOS 编程课程的时候,我们写了一个关于 UITableView 的教程,展示了如何使用 UITableView 去创建一个简单的表格应用。这是我们最受欢迎的教程之一。然而,你可能会发现这个教程在 Xcode 5 下不适用了。最新版的 Xcode 促进了界面生成器(Interface Builder)中 Storyboard 的使用。Storyboard 不再是一个开发项目时的候选,它是默认的了。这是为什么那份教程不适用的原因之一。
173 0
在 Xcode 5 的 Storyboard 中使用 UITableView
|
Java iOS开发 MacOS
Java开发GUI之Button控件
Java开发GUI之Button控件
163 0
|
C#
Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面
原文:Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面        在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果。
1515 0
QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文教程
QT是一个非常强大的图形用户界面应用程序开发框架,但是它现在不是很主流。虽然这样但是它的应用领域还是非常的广,特别是应用在嵌入式领域,非常多的公司喜欢用它来做界面。所以还是有比较多的小伙伴们想要学习这门语言,但是目前网络上的教程比较少,这里为大家介绍一下QT5.10.0安装的详细教程,希望对初学者有一定的帮助。
2822 0