本文整理汇总了C++中DEBUG_MSG函数的典型用法代码示例。如果您正苦于以下问题:C++ DEBUG_MSG函数的具体用法?C++ DEBUG_MSG怎么用?C++ DEBUG_MSG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DEBUG_MSG函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SEQ_TASK_Period1S
/////////////////////////////////////////////////////////////////////////////
// This task is called periodically each second
/////////////////////////////////////////////////////////////////////////////
void SEQ_TASK_Period1S(void)
{
static s8 wait_boot_ctr = 3; // wait 3 seconds before loading from SD Card - this is to increase the time where the boot screen is print!
u8 load_sd_content = 0;
// poll for IIC modules as long as HW config hasn't been locked (read from SD card)
// TODO: use proper mutex handling here
#ifndef MIOS32_FAMILY_EMULATION
if( !SEQ_FILE_HW_ConfigLocked() ) {
MIOS32_IIC_MIDI_ScanInterfaces();
}
#endif
// boot phase of 2 seconds finished?
if( wait_boot_ctr > 0 ) {
--wait_boot_ctr;
if( wait_boot_ctr )
return;
}
// BLM timeout counter
MIOS32_IRQ_Disable();
if( seq_blm_timeout_ctr )
--seq_blm_timeout_ctr;
MIOS32_IRQ_Enable();
// check if SD Card connected
MUTEX_SDCARD_TAKE;
s32 status = FILE_CheckSDCard();
if( status == 1 ) {
if( wait_boot_ctr != 0 ) { // don't print message if we just booted
char str[21];
sprintf(str, "Label: %s", FILE_VolumeLabel());
#ifndef MBSEQV4L
SEQ_UI_Msg(SEQ_UI_MSG_SDCARD, 2000, " SD Card connected", " :-D");
#endif
DEBUG_MSG("SD Card connected: %s\n", FILE_VolumeLabel());
}
SEQ_FILE_LoadSessionName();
DEBUG_MSG("Loading session %s\n", seq_file_session_name);
SEQ_FILE_LoadAllFiles(1);
} else if( status == 2 ) {
#ifndef MBSEQV4L
SEQ_UI_Msg(SEQ_UI_MSG_SDCARD, 2000, "SD Card disconnected", " :-/");
#endif
DEBUG_MSG("SD Card disconnected\n");
SEQ_FILE_UnloadAllFiles();
wait_boot_ctr = -1;
} else if( status == 3 ) {
if( !FILE_SDCardAvailable() ) {
#ifndef MBSEQV4L
SEQ_UI_Msg(SEQ_UI_MSG_SDCARD, 2000, " No SD Card found ", " :-(");
#endif
DEBUG_MSG("SD Card not found\n");
SEQ_FILE_HW_LockConfig(); // lock configuration
wait_boot_ctr = -1;
} else if( !FILE_VolumeAvailable() ) {
#ifndef MBSEQV4L
SEQ_UI_Msg(SEQ_UI_MSG_SDCARD, 2000, "!! SD Card Error !!!", "!! Invalid FAT !!!!!");
#endif
DEBUG_MSG("ERROR: SD Card contains invalid FAT!\n");
SEQ_FILE_HW_LockConfig(); // lock configuration
wait_boot_ctr = -1;
} else {
#ifndef MBSEQV4L
if( wait_boot_ctr != 0 ) { // don't print message if we just booted
char str1[30];
sprintf(str1, "Banks: ....");
u8 bank;
for(bank=0; bank<4; ++bank)
str1[7+bank] = SEQ_FILE_B_NumPatterns(bank) ? ('1'+bank) : '-';
char str2[30];
sprintf(str2,
"M:%c S:%c G:%c C:%c%c HW:%c",
SEQ_FILE_M_NumMaps() ? '*':'-',
SEQ_FILE_S_NumSongs() ? '*':'-',
SEQ_FILE_G_Valid() ? '*':'-',
SEQ_FILE_C_Valid() ? 'S':'-',
SEQ_FILE_GC_Valid() ? 'G':'-',
SEQ_FILE_HW_Valid() ? '*':'-');
SEQ_UI_Msg(SEQ_UI_MSG_SDCARD, 2000, str1, str2);
}
#endif
#if MBSEQV4L
// auto-format
// check if formatting is required
if( SEQ_FILE_FormattingRequired() ) {
strcpy(seq_file_new_session_name, "DEF_V4L");
DEBUG_MSG("Creating initial session '%s'... this can take some seconds!\n", seq_file_new_session_name);
if( (status=SEQ_FILE_Format()) < 0 ) {
DEBUG_MSG("Failed to create session! (status: %d)\n", status);
} else {
SEQ_FILE_StoreSessionName();
//.........这里部分代码省略.........
示例2: curses_wep_key
/*
* change the WEP key for wifi
*/
static void curses_wep_key(void)
{
DEBUG_MSG("curses_wep_key");
curses_input("WEP key :", wkey, WLEN, curses_set_wepkey);
}
示例3: DEBUG_MSG
void
MapArea::updateCache(const GRect & pm_rect, const GP<GPixmap> & pm,
GRectMapper * sdoc_mapper)
// Takes the passed pixmap and updated the internal cache.
// The pixmap should already contain the hyperlink draw in the
// INACTIVE state. We will copy it and apply ACTIVE part here.
// pm_rect is a rectangle in pane's coordinates where pm is supposed
// to go to. sdoc_mapper maps screen coordinates to the coordinates
// of the scaled document (see qd_base_paint.cpp)
{
DEBUG_MSG("MapArea::updateCache(): updating caches\n");
DEBUG_MAKE_INDENT(3);
if (!isCacheUsed() || !pm || !pane) return;
GRect brect=gmap_area->get_bound_rect();
mapper->map(brect);
brect.inflate(3, 3); // To take into account edit controls
GRect urect;
if (urect.intersect(pm_rect, brect))
{
for(GPosition pos=pieces;pos;++pos)
{
GP<MapPiece> piece=pieces[pos];
GRect prect=*piece;
mapper->map(prect);
GRect irect;
if (irect.intersect(prect, urect))
{
if (piece->getOnPixmap().isNull() || piece->getOffPixmap().isNull())
piece->createPixmaps();
QPixmap & on_pix=piece->getOnPixmap();
QPixmap & off_pix=piece->getOffPixmap();
// Now I need to make a copy of the area to be cached.
// The problem is that I'll need to draw into the GPixmap
// and I don't want to spoil the original.
GP<GPixmap> ipix_off;
GRect pix_rect=irect;
pix_rect.translate(-pm_rect.xmin, -pm_rect.ymin);
ipix_off=GPixmap::create(*pm, GRect(pix_rect.xmin, pm->rows()-pix_rect.ymax,
pix_rect.width(), pix_rect.height()));
GP<GPixmap> ipix_on=GPixmap::create(*ipix_off);
// Now ipix_off and ipix_on contains the data, which can be modified.
// Draw the map area into them
draw(irect, ipix_on, APPLY_ACTIVE);
// Dither pix_off and pix_on
GRect drect=irect;
sdoc_mapper->map(drect);
if (qxImager)
qxImager->dither(*ipix_on, drect.xmin, drect.ymin);
if (qxImager)
qxImager->dither(*ipix_off, drect.xmin, drect.ymin);
// Now copy the GPixmaps into QPixmaps to be used for caching
QDPainter p_off(&off_pix);
p_off.drawPixmap(GRect(irect.xmin-prect.xmin,
irect.ymin-prect.ymin,
irect.width(), irect.height()), ipix_off);
p_off.end();
QDPainter p_on(&on_pix);
p_on.drawPixmap(GRect(irect.xmin-prect.xmin,
irect.ymin-prect.ymin,
irect.width(), irect.height()), ipix_on);
p_on.end();
}
}
}
}
示例4: Button_Handler
/////////////////////////////////////////////////////////////////////////////
// Local button callback function
// Should return:
// 1 if value has been changed
// 0 if value hasn't been changed
// -1 if invalid or unsupported button
/////////////////////////////////////////////////////////////////////////////
static s32 Button_Handler(seq_ui_button_t button, s32 depressed)
{
if( depressed ) return 0; // ignore when button depressed
if( button <= SEQ_UI_BUTTON_GP8 || button == SEQ_UI_BUTTON_Select ) {
if( button != SEQ_UI_BUTTON_Select )
ui_selected_item = button / 2;
SEQ_UI_Msg(SEQ_UI_MSG_USER_R, 10000, "Sending Informations", "to MIOS Terminal!");
switch( ui_selected_item + list_view_offset ) {
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_SYSTEM:
SEQ_TERMINAL_PrintSystem(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_GLOBALS:
SEQ_TERMINAL_PrintGlobalConfig(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_CONFIG:
SEQ_TERMINAL_PrintSessionConfig(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_TRACKS:
SEQ_TERMINAL_PrintTracks(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_TRACK_INFO:
SEQ_TERMINAL_PrintTrack(DEBUG_MSG, SEQ_UI_VisibleTrackGet());
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_MIXER_MAP:
SEQ_TERMINAL_PrintCurrentMixerMap(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_SONG:
SEQ_TERMINAL_PrintCurrentSong(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_GROOVES:
SEQ_TERMINAL_PrintGrooveTemplates(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_BOOKMARKS:
SEQ_TERMINAL_PrintBookmarks(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_SD_CARD:
SEQ_TERMINAL_PrintSdCardInfo(DEBUG_MSG);
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case LIST_ITEM_NETWORK:
#if !defined(MIOS32_FAMILY_EMULATION)
UIP_TERMINAL_PrintNetwork(DEBUG_MSG);
#endif
break;
//////////////////////////////////////////////////////////////////////////////////////////////
default:
DEBUG_MSG("No informations available.");
}
SEQ_UI_Msg(SEQ_UI_MSG_USER_R, 1000, "Sent Informations", "to MIOS Terminal!");
return 1;
}
if( button >= SEQ_UI_BUTTON_GP9 && button <= SEQ_UI_BUTTON_GP16 ) {
// re-using encoder handler
return Encoder_Handler(button, 0);
}
switch( button ) {
case SEQ_UI_BUTTON_Right:
case SEQ_UI_BUTTON_Up:
return Encoder_Handler(SEQ_UI_ENCODER_Datawheel, 1);
case SEQ_UI_BUTTON_Left:
case SEQ_UI_BUTTON_Down:
return Encoder_Handler(SEQ_UI_ENCODER_Datawheel, -1);
}
//.........这里部分代码省略.........
示例5: curses_vis_method
/*
* change the visualization method
*/
static void curses_vis_method(void)
{
DEBUG_MSG("curses_vis_method");
curses_input("Visualization method :", vmethod, VLEN, curses_set_method);
}
示例6: main
int main(int argc, char *argv[])
{
int sockfd, clientfd, sockaddr_size, ret;
fd_set fds_tmp, fds_rd;
int fd_max, i, j, max_client = -1, addrlen, conn_num = 0;;
struct sockaddr_in serv_addr, client_addr;
struct timeval tv;
char buf[256], answer[32];
int client_arr[FD_SETSIZE];
/* create a socket */
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == -1) {
perror("socket()");
exit(1);
}
DEBUG_MSG("Server socket() is OK...\n");
memset(&serv_addr, 0x00, sizeof(struct sockaddr_in));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(SERV_PORT);
serv_addr.sin_addr.s_addr = INADDR_ANY;
if (bind(sockfd, (SA *) & serv_addr, sizeof(SA)) == -1) {
perror("Unable to bind");
exit(1);
}
DEBUG_MSG("Server bind() is OK...\n");
if(listen(sockfd, BACKLOG) == -1){
perror("listen()");
exit(1);
}
DEBUG_MSG("Server listen() is OK...\n");
/* initialize the fd set and add one to it */
FD_ZERO(&fds_rd);
FD_SET(sockfd, &fds_rd);
for(i = 0; i < FD_SETSIZE; i++)
client_arr[i] = -1;
/* Keep track of the biggest fd */
fd_max = sockfd;
printf("TCP server waiting for client on port 5566!\n");
sockaddr_size = sizeof(SA);
while (1) {
memset(buf, '\0', sizeof(buf));
/* focus on fds_rd, fds_tmp is only a tmp variable */
fds_tmp = fds_rd;
/* wait for 5 secs */
tv.tv_sec =5;
tv.tv_usec =0;
ret = select(fd_max + 1, &fds_tmp, NULL, NULL, &tv);
// printf("ret is %d\n", ret);
if(ret == 0){
DEBUG_MSG("No data within %d seconds.!\n", tv.tv_sec);
continue;
}
else if( ret == -1){
perror("select()");
exit(1);
}
/* handle new connection */
if(FD_ISSET(sockfd, &fds_tmp)){
DEBUG_MSG("Client is trying to connect...\n");
addrlen = sizeof(client_addr);
clientfd = accept(sockfd, (SA *) & client_addr, &sockaddr_size);
if(clientfd == -1){
perror("accept()");
}
DEBUG_MSG("Server accept() is OK...\n");
DEBUG_MSG("Got a new connection from %s:%d\n",
inet_ntoa(client_addr.sin_addr),
ntohs(client_addr.sin_port));
/* find a place where to save the fd */
for(i = 0; i < FD_SETSIZE; i++){
if(client_arr[i] < 0)
{
client_arr[i] = clientfd;
break;
}
}
FD_SET(clientfd, &fds_rd);
if(clientfd > fd_max){
fd_max = clientfd;
}
if(i > max_client){
max_client = i;
}
//.........这里部分代码省略.........
示例7: DEBUG_MSG
//-------------------------------------------------------------------------------------
float SystemInfo::getCPUPerByPID(uint32 pid)
{
if(pid == 0)
{
pid = (uint32)getProcessPID();
}
float percent = 0.f;
bool tryed = false;
_TRYGET:
if(!hasPID(pid, &_g_proclist))
{
DEBUG_MSG(fmt::format("SystemInfo::getCPUPerByPID: error: not found pid({})\n", pid));
if(!tryed)
{
clear();
tryed = true;
if(_autocreate())
goto _TRYGET;
}
return 0.f;
}
/*
int status = SIGAR_OK;
// for (size_t i = 0; i < proclist.number; i++)
{
sigar_proc_cpu_t cpu;
status = sigar_proc_cpu_get(_g_sigarproclist, pid, &cpu);
if (status != SIGAR_OK)
{
DEBUG_MSG(fmt::format("error: {} ({}) proc_cpu_get({})\n",
status, sigar_strerror(_g_sigarproclist, status), pid));
return 0.f;
}
}
*/
// sleep(1000);
// for (size_t i = 0; i < proclist.number; i++)
{
sigar_proc_cpu_t cpu;
int status = sigar_proc_cpu_get(_g_sigarproclist, pid, &cpu);
if (status == SIGAR_OK)
{
/*
sigar_proc_state_t procstate;
status = sigar_proc_state_get(sigarproclist, pid, &procstate);
if (status != SIGAR_OK)
{
DEBUG_MSG(fmt::format("error: {} ({}) proc_state({})\n",
status, sigar_strerror(sigarproclist, status), pid));
return 0.f;
}
*/
percent = float(cpu.percent) * 100.f;
#if KBE_PLATFORM == PLATFORM_WIN32
percent /= float(countCPU());
#endif
}
else
{
DEBUG_MSG(fmt::format("error: {} ({}) proc_cpu_get({})\n",
status, sigar_strerror(_g_sigarproclist, status), pid));
return 0.f;
}
}
return percent;
}
示例8: test_quad_instanced
void test_quad_instanced(int instances, int div0, int div1)
{
GLint width, height;
GLuint texturename = 0, texture_handle;
GLfloat vVertices[] = {
// front
-0.45, -0.75, 0.0,
0.45, -0.75, 0.0,
-0.45, 0.75, 0.0,
0.45, 0.75, 0.0
};
GLfloat vTexCoords[] = {
1.0f, 1.0f,
0.0f, 1.0f,
1.0f, 0.0f,
0.0f, 0.0f,
};
EGLSurface surface;
RD_START("instanced", "instances=%d, div0=%d, div1=%d", instances, div0, div1);
display = get_display();
/* get an appropriate EGL frame buffer configuration */
ECHK(eglChooseConfig(display, config_attribute_list, &config, 1, &num_config));
DEBUG_MSG("num_config: %d", num_config);
/* create an EGL rendering context */
ECHK(context = eglCreateContext(display, config, EGL_NO_CONTEXT, context_attribute_list));
surface = make_window(display, config, 255, 255);
ECHK(eglQuerySurface(display, surface, EGL_WIDTH, &width));
ECHK(eglQuerySurface(display, surface, EGL_HEIGHT, &height));
DEBUG_MSG("Buffer: %dx%d", width, height);
/* connect the context to the surface */
ECHK(eglMakeCurrent(display, surface, surface, context));
printf("EGL Version %s\n", eglQueryString(display, EGL_VERSION));
printf("EGL Vendor %s\n", eglQueryString(display, EGL_VENDOR));
printf("EGL Extensions %s\n", eglQueryString(display, EGL_EXTENSIONS));
printf("GL Version %s\n", glGetString(GL_VERSION));
printf("GL extensions: %s\n", glGetString(GL_EXTENSIONS));
program = get_program(vertex_shader_source, fragment_shader_source);
GCHK(glBindAttribLocation(program, 0, "in_position"));
GCHK(glBindAttribLocation(program, 1, "in_TexCoord"));
link_program(program);
GCHK(glViewport(0, 0, width, height));
/* clear the color buffer */
GCHK(glClearColor(0.5, 0.5, 0.5, 1.0));
GCHK(glClear(GL_COLOR_BUFFER_BIT));
GCHK(glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, vVertices));
GCHK(glEnableVertexAttribArray(0));
GCHK(glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 0, vTexCoords));
GCHK(glEnableVertexAttribArray(1));
GCHK(glActiveTexture(GL_TEXTURE0));
GCHK(glGenTextures(1, &texturename));
GCHK(glBindTexture(GL_TEXTURE_2D, texturename));
GCHK(glTexImage2D(
GL_TEXTURE_2D, 0, GL_RGB,
cube_texture.width, cube_texture.height, 0,
GL_RGB, GL_UNSIGNED_BYTE, cube_texture.pixel_data));
/* Note: cube turned black until these were defined. */
GCHK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST));
GCHK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST));
GCHK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));
GCHK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));
GCHK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE));
GCHK(texture_handle = glGetUniformLocation(program, "uTexture"));
GCHK(glUniform1i(texture_handle, 0)); /* '0' refers to texture unit 0. */
GCHK(glEnable(GL_CULL_FACE));
if (instances > 0) {
GCHK(glVertexAttribDivisor(0, div0));
GCHK(glVertexAttribDivisor(1, div1));
GCHK(glDrawArraysInstanced(GL_TRIANGLE_STRIP, 0, 4, instances));
} else {
GCHK(glDrawArrays(GL_TRIANGLE_STRIP, 0, 4));
}
ECHK(eglSwapBuffers(display, surface));
GCHK(glFlush());
//.........这里部分代码省略.........
示例9: default_exited_cb
static int default_exited_cb(struct state_t*state,void* input)
{
DEBUG_MSG("default exited\n");
return 0;
}
示例10: PyErr_Format
//-------------------------------------------------------------------------------------
PyObject* ClientEntityMethod::callmethod(PyObject* args, PyObject* kwds)
{
Entity* srcEntity = Cellapp::getSingleton().findEntity(srcEntityID_);
if(srcEntity == NULL)
{
PyErr_Format(PyExc_AssertionError, "Entity::clientEntity(%s): srcEntityID(%d) not found!\n",
methodDescription_->getName(), srcEntityID_);
PyErr_PrintEx(0);
return 0;
}
if(srcEntity->isDestroyed())
{
PyErr_Format(PyExc_AssertionError, "Entity::clientEntity(%s): srcEntityID(%d) is destroyed!\n",
methodDescription_->getName(), srcEntityID_);
PyErr_PrintEx(0);
return 0;
}
if(srcEntity->pWitness() == NULL)
{
PyErr_Format(PyExc_AssertionError, "%s::clientEntity(%s): no client, srcEntityID(%d).\n",
srcEntity->scriptName(), methodDescription_->getName(), srcEntity->id());
PyErr_PrintEx(0);
return 0;
}
EntityRef::AOI_ENTITIES::iterator iter = srcEntity->pWitness()->aoiEntities().begin();
Entity* e = NULL;
for(; iter != srcEntity->pWitness()->aoiEntities().end(); ++iter)
{
if((*iter)->id() == clientEntityID_ && ((*iter)->flags() &
(ENTITYREF_FLAG_ENTER_CLIENT_PENDING | ENTITYREF_FLAG_LEAVE_CLIENT_PENDING)) <= 0)
{
e = (*iter)->pEntity();
break;
}
}
if(e == NULL)
{
PyErr_Format(PyExc_AssertionError, "%s::clientEntity(%s): not found entity(%d), srcEntityID(%d).\n",
srcEntity->scriptName(), methodDescription_->getName(), clientEntityID_, srcEntity->id());
PyErr_PrintEx(0);
return 0;
}
MethodDescription* methodDescription = getDescription();
if(methodDescription->checkArgs(args))
{
MemoryStream* mstream = MemoryStream::ObjPool().createObject();
methodDescription->addToStream(mstream, args);
Network::Bundle* pForwardBundle = Network::Bundle::ObjPool().createObject();
Network::Bundle* pSendBundle = Network::Bundle::ObjPool().createObject();
srcEntity->pWitness()->addSmartAOIEntityMessageToBundle(pForwardBundle, ClientInterface::onRemoteMethodCall,
ClientInterface::onRemoteMethodCallOptimized, clientEntityID_);
if(mstream->wpos() > 0)
(*pForwardBundle).append(mstream->data(), (int)mstream->wpos());
if(Network::g_trace_packet > 0)
{
if(Network::g_trace_packet_use_logfile)
DebugHelper::getSingleton().changeLogger("packetlogs");
DEBUG_MSG(fmt::format("ClientEntityMethod::callmethod: pushUpdateData: ClientInterface::onRemoteOtherEntityMethodCall({}::{})\n",
srcEntity->scriptName(), methodDescription->getName()));
switch(Network::g_trace_packet)
{
case 1:
mstream->hexlike();
break;
case 2:
mstream->textlike();
break;
default:
mstream->print_storage();
break;
};
if(Network::g_trace_packet_use_logfile)
DebugHelper::getSingleton().changeLogger(COMPONENT_NAME_EX(g_componentType));
}
NETWORK_ENTITY_MESSAGE_FORWARD_CLIENT(srcEntity->id(), (*pSendBundle), (*pForwardBundle));
srcEntity->pWitness()->sendToClient(ClientInterface::onRemoteMethodCallOptimized, pSendBundle);
// 记录这个事件产生的数据量大小
g_publicClientEventHistoryStats.trackEvent(srcEntity->scriptName(),
(std::string(e->scriptName()) + "." + methodDescription->getName()),
pForwardBundle->currMsgLength(),
//.........这里部分代码省略.........
示例11: gtkui_help
void gtkui_help(void)
{
GtkWidget *dialog, *scrolled, *treeview, *hbox, *textview;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
GtkTreeIter iter;
help_pair *section;
DEBUG_MSG("gtkui_help");
dialog = gtk_dialog_new_with_buttons(EC_PROGRAM" Help", GTK_WINDOW (window),
GTK_DIALOG_MODAL, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL);
gtk_window_set_default_size(GTK_WINDOW (dialog), 780, 580);
gtk_dialog_set_has_separator(GTK_DIALOG (dialog), TRUE);
gtk_container_set_border_width(GTK_CONTAINER (dialog), 5);
hbox = gtk_hbox_new (FALSE, 6);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
scrolled = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_IN);
gtk_box_pack_start(GTK_BOX(hbox), scrolled, FALSE, FALSE, 0);
gtk_widget_show(scrolled);
treeview = gtk_tree_view_new();
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW (treeview), FALSE);
gtk_container_add(GTK_CONTAINER (scrolled), treeview);
gtk_widget_show(treeview);
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
g_signal_connect(selection, "changed", G_CALLBACK (gtkui_help_selected), liststore);
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Contents", renderer, "text", 0, NULL);
gtk_tree_view_column_set_sort_column_id (column, 0);
gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
liststore = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_POINTER);
for(section = help_list; section->title; section++) {
gtk_list_store_append (liststore, &iter);
gtk_list_store_set (liststore, &iter,
0, section->title,
1, section->file, -1);
}
gtk_tree_view_set_model(GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (liststore));
/* text area */
scrolled = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_IN);
gtk_box_pack_start(GTK_BOX(hbox), scrolled, TRUE, TRUE, 0);
gtk_widget_show(scrolled);
textview = gtk_text_view_new();
gtk_text_view_set_editable(GTK_TEXT_VIEW (textview), FALSE);
gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW (textview), FALSE);
gtk_container_add(GTK_CONTAINER (scrolled), textview);
gtk_widget_show(textview);
textbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW (textview));
gtk_widget_show_all(hbox);
gtk_dialog_run(GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}
示例12: ERROR_MSG
//.........这里部分代码省略.........
fd_set frds;
struct timeval tv = { 0, 5000000 }; // 5000ms
FD_ZERO( &frds );
FD_SET((int)endpoint, &frds);
int selgot = select(endpoint+1, &frds, NULL, NULL, &tv);
if(selgot <= 0)
{
ERROR_MSG(boost::format("BillingTask::process: %1% send(%2%).\n") % commitName % postDatas);
ERROR_MSG(boost::format("BillingTask::process: %1% recv is error(%2%).\n") % commitName % KBEngine::kbe_strerror());
endpoint.close();
return false;
}
int len = endpoint.recv(packet.data(), 1024);
if(len <= 0)
{
ERROR_MSG(boost::format("BillingTask::process: %1% recv is size<= 0.\n===>postdatas=%2%\n") % commitName % postDatas);
endpoint.close();
return false;
}
packet.wpos(len);
getDatas.assign((const char *)(packet.data() + packet.rpos()), packet.opsize());
try
{
std::string::size_type fi = getDatas.find("\r\n\r\n");
if(fi != std::string::npos)
{
fi += 4;
MemoryStream s;
s.append(getDatas.data() + fi, getDatas.size() - fi);
while(s.opsize() > 0)
{
int32 type, len;
s >> type >> len;
EndianConvertReverse<int32>(type);
EndianConvertReverse<int32>(len);
int32 error = 0;
switch(type)
{
case 1:
s >> error;
EndianConvertReverse<int32>(error);
if(error != 0)
{
success = false;
endpoint.close();
std::string err;
if(s.opsize() >= (sizeof(int32) * 2))
{
s >> type >> len;
if(len > 0 && len < 1024)
{
char* buf = new char[len + 1];
memcpy(buf, s.data() + s.rpos(), len);
buf[len] = 0;
err = buf;
delete[] buf;
}
}
DEBUG_MSG(boost::format("BillingTask::process: (%1%)op is failed! err=%2%\n<==send(%3%)\n==>recv(%4%).\n") % commitName % err % postDatas % getDatas);
return false;
}
else
{
success = true;
}
break;
case 2:
{
s.read_skip(len);
}
break;
case 3:
{
char* buf = new char[len + 1];
memcpy(buf, s.data() + s.rpos(), len);
buf[len] = 0;
accountName = buf;
delete[] buf;
s.read_skip(len);
}
break;
default:
break;
};
示例13: VolDet_GetBatteryLevel
/**
Get battery voltage level
Get battery voltage level.
If battery voltage level is VOLDET_BATTERY_LVL_EMPTY, it means
that you have to power off the system.
@param void
@return UINT32 Battery Level, refer to VoltageDet.h -> VOLDET_BATTERY_LVL_XXXX
*/
UINT32 VolDet_GetBatteryLevel(void)
{
static UINT32 uiPreBatteryLvl = VOLDET_BATTERY_LVL_UNKNOWN;
static UINT32 uiPreBatteryADC = 0;
static UINT32 uiRetBatteryLvl;
UINT32 uiCurBatteryADC, uiCurBatteryLvl;
UINT32 uiBattAdcLvl3, uiBattAdcLvl2, uiBattAdcLvl1, uiBattAdcLvl0;
uiBattAdcLvl3 = VOLDET_BATTERY_ADC_LVL3;
uiBattAdcLvl2 = VOLDET_BATTERY_ADC_LVL2;
uiBattAdcLvl1 = VOLDET_BATTERY_ADC_LVL1;
uiBattAdcLvl0 = VOLDET_BATTERY_ADC_LVL0;
uiCurBatteryADC = VolDet_GetBatteryADC();
DEBUG_MSG(("VOLDET: battery ADC = %d\r\n", uiCurBatteryADC));
// Rising
if (uiCurBatteryADC > uiPreBatteryADC)
{
if (uiCurBatteryADC > (uiBattAdcLvl3 + VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_3;
}
else if (uiCurBatteryADC > (uiBattAdcLvl2 + VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_2;
}
else if (uiCurBatteryADC > (uiBattAdcLvl1 + VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_1;
}
else if (uiCurBatteryADC > (uiBattAdcLvl0 + VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_0;
}
else
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_EMPTY;
}
}
// Falling
else
{
if (uiCurBatteryADC > (uiBattAdcLvl3 - VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_3;
}
else if (uiCurBatteryADC > (uiBattAdcLvl2 - VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_2;
}
else if (uiCurBatteryADC > (uiBattAdcLvl1 - VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_1;
}
else if (uiCurBatteryADC > (uiBattAdcLvl0 - VOLDET_BATTERY_ADC_TH))
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_0;
}
else
{
uiCurBatteryLvl = VOLDET_BATTERY_LVL_EMPTY;
}
}
// Debounce
if ((uiCurBatteryLvl == uiPreBatteryLvl) ||
(uiPreBatteryLvl == VOLDET_BATTERY_LVL_UNKNOWN))
{
uiRetBatteryLvl = uiCurBatteryLvl;
}
uiPreBatteryLvl = uiCurBatteryLvl;
uiPreBatteryADC = uiCurBatteryADC;
return uiRetBatteryLvl;
}
示例14: DEBUG_MSG_LN
/**
* Turn servo towards 'pos' in 1 microsecond steps, waiting delay_ms
* milliseconds between steps (speed = 1/delay). If check_weight weight
* is true, might abort with WHERE_THE_FUCK_IS_THE_CUP error. If a valid pointer
* stable_weight is passed, turns bottle until a stable weight is measured
* (returns WEIGHT_NOT_STABLE if pos is reached before weight stable).
*
* Returns 0 when the position is reached or SERVO_OUT_OF_RANGE on error.
*
* For details about the built-in Servo class see:
* /usr/share/arduino/libraries/Servo/Servo.cpp
*
*/
errv_t Bottle::turn_to(int pos, int delay_ms, bool check_weight, int* stable_weight, bool enable_abortcheck) {
int weight_previous1 = -9999; // just any impossible value
int weight_previous2 = -9999; // ..before we have real values
if (pos < SERVO_MIN || pos > SERVO_MAX) {
DEBUG_MSG_LN("Invalid pos");
return SERVO_OUT_OF_RANGE;
}
int current_pos = servo.readMicroseconds();
if (pos == current_pos)
return 0;
int step = (current_pos < pos) ? 1 : -1;
DEBUG_START();
DEBUG_MSG("turn ");
DEBUG_MSG(number);
DEBUG_MSG(", params ");
DEBUG_VAL(current_pos);
DEBUG_VAL(step);
DEBUG_VAL(pos);
DEBUG_VAL(delay_ms);
DEBUG_END();
unsigned long last_called = millis();
for (int i = current_pos + step; i * step <= pos * step; i += step) {
// ˆˆˆˆˆˆ ˆˆˆˆˆˆ
// this inverts the relation if turning down
// Warning: printing to serial delays turning!
// Might help to to debug servo movement. Not necessary now, commenting
// out to save bytes.
//if (print_steps && i % 10 == 0) {
// DEBUG_VAL_LN(i);
//}
// check abort only if not already aborted...
if (enable_abortcheck) {
// turn up and return if we should abort...
errv_t ret = check_aborted();
if (ret) {
// turn_up might not be necessary here, called another time
// later (does not matter if called twice)
turn_up(FAST_TURN_UP_DELAY, false);
return ret;
}
}
if (check_weight || stable_weight) {
int weight;
int ret = ads1231_get_noblock(weight);
if (ret == 0) {
// we got a valid weight from scale
if (check_weight && weight < WEIGHT_EPSILON) {
return WHERE_THE_FUCK_IS_THE_CUP;
}
// get next weight sample and return if weight is stable
if (stable_weight) {
if (weight_previous2 == weight_previous1
&& weight_previous1 == weight) {
*stable_weight = weight;
return 0;
}
weight_previous2 = weight_previous1;
weight_previous1 = weight;
}
}
else if (ret != ADS1231_WOULD_BLOCK) {
// ignoring if it would take too long to get weight, but
// return in case of other error != 0
return ret;
}
}
// turn servo one step
delay(delay_ms);
servo.writeMicroseconds(i);
}
// pos reached before weight stable
if (stable_weight) {
return WEIGHT_NOT_STABLE;
}
return 0;
}
示例15: gtkui_sniff_live
void gtkui_sniff_live(void)
{
DEBUG_MSG("gtk_sniff_live");
gtkui_create_menu(1); /* online menus */
}