本文整理汇总了C++中PN函数的典型用法代码示例。如果您正苦于以下问题:C++ PN函数的具体用法?C++ PN怎么用?C++ PN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PN函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: FS_r_set_alarm
static ZERO_OR_ERROR FS_r_set_alarm(struct one_wire_query *owq)
{
BYTE c;
OWQ_allocate_struct_and_pointer(owq_alarm);
OWQ_create_temporary(owq_alarm, (char *) &c, 1, 0x0200, PN(owq));
if (COMMON_read_memory_F0(owq_alarm, 0, 0)) {
return -EINVAL;
}
OWQ_U(owq) = Avals[(c >> 3) & 0x07];
return 0;
}
开发者ID:GrandHsu,项目名称:iicontrollibs,代码行数:12,代码来源:ow_2404.c
示例2: print_rt_rq
void print_rt_rq(struct seq_file *m, int cpu, struct rt_rq *rt_rq)
{
#ifdef CONFIG_RT_GROUP_SCHED
SEQ_printf(m, "\nrt_rq[%d]:%s\n", cpu, task_group_path(rt_rq->tg));
#else
SEQ_printf(m, "\nrt_rq[%d]:\n", cpu);
#endif
#define P(x) \
SEQ_printf(m, " .%-30s: %Ld\n", #x, (long long)(rt_rq->x))
#define PN(x) \
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", #x, SPLIT_NS(rt_rq->x))
P(rt_nr_running);
P(rt_throttled);
PN(rt_time);
PN(rt_runtime);
#undef PN
#undef P
}
开发者ID:itsmerajit,项目名称:kernel_otus,代码行数:21,代码来源:debug.c
示例3: FS_w_mem
static ZERO_OR_ERROR FS_w_mem(struct one_wire_query *owq)
{
size_t pagesize = 32;
ZERO_OR_ERROR error_code = COMMON_readwrite_paged(owq, 0, pagesize, OW_w_mem) ;
/* paged write */
if (error_code != 0) {
error_code = -EFAULT ;
}
OW_reset(PN(owq)) ; // DS2404 needs this to release for 3-wire communication
return error_code ;
}
开发者ID:GrandHsu,项目名称:iicontrollibs,代码行数:12,代码来源:ow_2404.c
示例4: setup
void setup(void) {
/*
Test Envionment, ATMEGA with the following settings:
CS: PORTB, Bit 2
A0: PORTB, Bit 1
SCK: PORTB, Bit 5
MOSI: PORTB, Bit 3
*/
/* 1. Setup and create u8g device */
/* u8g_InitSPI(&u8g, &u8g_dev_st7565_dogm132_sw_spi, PN(1, 5), PN(1, 3), PN(1, 2), PN(1, 1), U8G_PIN_NONE); */
u8g_InitHWSPI(&u8g, &u8g_dev_st7565_dogm132_hw_spi, PN(1, 2), PN(1, 1), U8G_PIN_NONE);
/* 2. Setup m2 */
m2_Init(&el_top, m2_es_avr_u8g, m2_eh_4bs, m2_gh_u8g_bfs);
/* 3. Connect u8g display to m2 */
m2_SetU8g(&u8g, m2_u8g_box_icon);
/* 4. Set a font, use normal u8g_font's */
m2_SetFont(0, (const void *)u8g_font_5x8r);
/* 5. Define keys */
m2_SetPin(M2_KEY_EXIT, PN(3, 5));
m2_SetPin(M2_KEY_SELECT, PN(3, 6));
m2_SetPin(M2_KEY_NEXT, PN(3, 7));
m2_SetPin(M2_KEY_PREV, PN(1, 7));
}
开发者ID:freemanjiang,项目名称:m2tklib,代码行数:27,代码来源:graphics.c
示例5: setup
void setup(void)
{
/*
Test Envionment, ATMEGA with the following settings:
CS: PORTB, Bit 2
A0: PORTB, Bit 1
SCK: PORTB, Bit 5
MOSI: PORTB, Bit 3
*/
/* 1. Setup and create u8g device: http://code.google.com/p/u8glib/wiki/avr#U8glib_Init */
/* u8g_InitSPI(&u8g, &u8g_dev_st7565_dogm132_sw_spi, PN(1, 5), PN(1, 3), PN(1, 2), PN(1, 1), U8G_PIN_NONE); */
u8g_InitHWSPI(&u8g, &u8g_dev_st7565_dogm132_hw_spi, PN(1, 2), PN(1, 1), U8G_PIN_NONE);
/* 2. Setup m2 */
m2_Init(&top_el_pin_list, m2_es_avr_u8g, m2_eh_4bs, m2_gh_u8g_bfs);
//m2_Init(&top_el_pin_list, m2_es_avr_rotary_encoder_u8g, m2_eh_4bd, m2_gh_u8g_bfs);
/* 3. Connect u8g display to m2 */
m2_SetU8g(&u8g, m2_u8g_box_icon);
/* 4. Set a font, use normal u8g_font's */
m2_SetFont(0, (const void *)u8g_font_5x8r);
/* 5. Define keys (PN() description, see http://code.google.com/p/u8glib/wiki/avr#U8glib_Init) */
m2_SetPin(M2_KEY_EXIT, PN(3, 5));
m2_SetPin(M2_KEY_SELECT, PN(3, 6));
m2_SetPin(M2_KEY_NEXT, PN(3, 7));
m2_SetPin(M2_KEY_PREV, PN(1, 7));
}
开发者ID:freemanjiang,项目名称:m2tklib,代码行数:29,代码来源:pwm_pin_list.c
示例6: FS_w_screenX
static ZERO_OR_ERROR FS_w_screenX(struct one_wire_query *owq)
{
struct one_wire_query * owq_line ;
int extension;
struct parsedname *pn = PN(owq);
int width = pn->selected_filetype->data.i;
int rows = (width == 40) ? 2 : 4; /* max number of rows */
char *start_of_remaining_text = OWQ_buffer(owq);
char *pointer_after_all_text = OWQ_buffer(owq) + OWQ_size(owq);
if (OWQ_offset(owq)) {
return -ERANGE;
}
if (BAD( OW_clear(pn) ) ) {
return -EFAULT;
}
owq_line = OWQ_create_separate( 0, owq ) ;
if ( owq_line == NO_ONE_WIRE_QUERY ) {
return -ENOMEM ;
}
for (extension = 0; extension < rows; ++extension) {
char *newline_location = memchr(start_of_remaining_text, '\n',
pointer_after_all_text - start_of_remaining_text);
OWQ_pn(owq_line).extension = extension;
OWQ_buffer(owq_line) = start_of_remaining_text;
if ((newline_location != NULL)
&& (newline_location < start_of_remaining_text + width)) {
OWQ_size(owq_line) = newline_location - start_of_remaining_text;
start_of_remaining_text = newline_location + 1; /* skip over newline */
} else {
char *lineend_location = start_of_remaining_text + width;
if (lineend_location > pointer_after_all_text) {
lineend_location = pointer_after_all_text;
}
OWQ_size(owq_line) = lineend_location - start_of_remaining_text;
start_of_remaining_text = lineend_location;
}
if (FS_w_lineX(owq_line)) {
OWQ_destroy( owq_line ) ;
return -EINVAL;
}
if (start_of_remaining_text >= pointer_after_all_text)
break;
}
OWQ_destroy( owq_line ) ;
return 0;
}
开发者ID:M-o-a-T,项目名称:owfs,代码行数:52,代码来源:ow_lcd.c
示例7: sched_debug_show
static int sched_debug_show(struct seq_file *m, void *v)
{
u64 ktime, sched_clk, cpu_clk;
unsigned long flags;
int cpu;
local_irq_save(flags);
ktime = ktime_to_ns(ktime_get());
sched_clk = sched_clock();
cpu_clk = local_clock();
local_irq_restore(flags);
SEQ_printf(m, "Sched Debug Version: v0.10, %s %.*s\n",
init_utsname()->release,
(int)strcspn(init_utsname()->version, " "),
init_utsname()->version);
#define P(x) \
SEQ_printf(m, "%-40s: %Ld\n", #x, (long long)(x))
#define PN(x) \
SEQ_printf(m, "%-40s: %Ld.%06ld\n", #x, SPLIT_NS(x))
PN(ktime);
PN(sched_clk);
PN(cpu_clk);
P(jiffies);
#ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
P(sched_clock_stable);
#endif
#undef PN
#undef P
SEQ_printf(m, "\n");
SEQ_printf(m, "sysctl_sched\n");
#define P(x) \
SEQ_printf(m, " .%-40s: %Ld\n", #x, (long long)(x))
#define PN(x) \
SEQ_printf(m, " .%-40s: %Ld.%06ld\n", #x, SPLIT_NS(x))
PN(sysctl_sched_latency);
PN(sysctl_sched_min_granularity);
PN(sysctl_sched_wakeup_granularity);
P(sysctl_sched_child_runs_first);
P(sysctl_sched_features);
#undef PN
#undef P
SEQ_printf(m, " .%-40s: %d (%s)\n", "sysctl_sched_tunable_scaling",
sysctl_sched_tunable_scaling,
sched_tunable_scaling_names[sysctl_sched_tunable_scaling]);
read_lock_irqsave(&tasklist_lock, flags);
//for_each_online_cpu(cpu)
for_each_possible_cpu(cpu)
print_cpu(m, cpu);
read_unlock_irqrestore(&tasklist_lock, flags);
SEQ_printf(m, "\n");
return 0;
}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:59,代码来源:debug.c
示例8: FS_redefchar
static ZERO_OR_ERROR FS_redefchar(struct one_wire_query *owq)
{
struct parsedname *pn = PN(owq);
if ( OWQ_size(owq) != LCD_REDEFCHAR_LENGTH ) {
return -ERANGE ;
}
if ( OWQ_offset(owq) != 0 ) {
return -ERANGE ;
}
return GB_to_Z_OR_E( OW_redefchar( OWQ_buffer(owq), pn ) ) ;
}
开发者ID:bootc,项目名称:owfs-cvsimport,代码行数:13,代码来源:ow_2408.c
示例9: FS_Honoff
// 0x01 => blinking cursor on
// 0x02 => cursor on
// 0x04 => display on
static ZERO_OR_ERROR FS_Honoff(struct one_wire_query *owq)
{
struct parsedname *pn = PN(owq);
BYTE onoff[] = { NIBBLE_DATA(OWQ_U(owq)) };
RETURN_ERROR_IF_BAD( OW_Hinit(pn) ) ;
// onoff
if ( BAD( OW_w_pios(onoff, 2, pn) ) ) {
LEVEL_DEBUG("Error setting LCD state");
return -EINVAL;
}
return 0;
}
开发者ID:bootc,项目名称:owfs-cvsimport,代码行数:16,代码来源:ow_2408.c
示例10: FS_w_s_alarm
/* data[0] selection */
static ZERO_OR_ERROR FS_w_s_alarm(struct one_wire_query *owq)
{
BYTE data[3];
int i;
UINT p;
UINT U = OWQ_U(owq);
for (i = 0, p = 1; i < 8; ++i, p *= 10) {
UT_setbit(&data[1], i, ((int) (U / p) % 10) & 0x01);
UT_setbit(&data[0], i, (((int) (U / p) % 10) & 0x02) >> 1);
}
data[2] = ((U / 100000000) % 10) & 0x03;
return GB_to_Z_OR_E(OW_w_s_alarm(data, PN(owq))) ;
}
开发者ID:bootc,项目名称:owfs-cvsimport,代码行数:14,代码来源:ow_2408.c
示例11: OW_r_counter
/* Nathan Holmes helped troubleshoot this one! */
static GOOD_OR_BAD OW_r_counter(struct one_wire_query *owq, size_t page, size_t pagesize)
{
BYTE extra[8];
if (COMMON_read_memory_plus_counter(extra, page, pagesize, PN(owq))) {
return gbBAD;
}
if (extra[4] != _1W_COUNTER_FILL || extra[5] != _1W_COUNTER_FILL || extra[6] != _1W_COUNTER_FILL || extra[7] != _1W_COUNTER_FILL) {
return gbBAD;
}
/* counter is held in the 4 bytes after the data */
OWQ_U(owq) = UT_uint32(extra);
return gbGOOD;
}
开发者ID:GrandHsu,项目名称:iicontrollibs,代码行数:14,代码来源:ow_1963.c
示例12: _print_owq
void _print_owq(struct one_wire_query *owq)
{
char c[32];
fprintf(stderr,"OWQ OneWireQuery structure of %s\n", PN(owq)->path);
fprintf(stderr," OneWireQuery size=%lu offset=%lu, extension=%d\n",
(unsigned long) OWQ_size(owq), (unsigned long) OWQ_offset(owq), (int) OWQ_pn(owq).extension);
if ( OWQ_buffer(owq) != NULL ) {
Debug_Bytes("OneWireQuery buffer", (BYTE *) OWQ_buffer(owq), OWQ_size(owq));
}
fprintf(stderr," Cleanup = %.4X",OWQ_cleanup(owq));
fprintf(stderr," OneWireQuery I=%d U=%u F=%G Y=%d D=%s\n", OWQ_I(owq), OWQ_U(owq), OWQ_F(owq), OWQ_Y(owq), SAFESTRING(ctime_r(&OWQ_D(owq), c)));
fprintf(stderr,"--- OneWireQuery done\n");
}
开发者ID:bootc,项目名称:owfs-cvsimport,代码行数:13,代码来源:ow_printparse.c
示例13: FS_w_mem
static ZERO_OR_ERROR FS_w_mem(struct one_wire_query *owq)
{
/* paged access */
size_t pagesize;
switch (PN(owq)->sn[0]) {
case 0x2D:
pagesize = 8 ;
return GB_to_Z_OR_E(COMMON_readwrite_paged(owq, 0, pagesize, OW_w_2Dpage)) ;
default:
pagesize = 8 ;
return GB_to_Z_OR_E(COMMON_readwrite_paged(owq, 0, pagesize, OW_w_23page)) ;
}
}
开发者ID:bootc,项目名称:owfs-cvsimport,代码行数:13,代码来源:ow_2433.c
示例14: FS_w_interface
/* Write to interface dir */
static ZERO_OR_ERROR FS_w_interface(struct one_wire_query *owq)
{
struct parsedname *pn = PN(owq);
if ( pn->selected_connection == NO_CONNECTION ) {
LEVEL_DEBUG("Attempt to write to no bus for /settings");
return -ENODEV ;
} else if ( SpecifiedLocalBus(pn) ) {
return FS_w_local(owq);
} else {
return ServerWrite(owq);
}
}
开发者ID:bootc,项目名称:owfs-cvsimport,代码行数:14,代码来源:ow_write.c
示例15: FS_r_ds2490status
static ZERO_OR_ERROR FS_r_ds2490status(struct one_wire_query *owq)
{
struct parsedname *pn = PN(owq);
char res[256];
char buffer[ DS9490_getstatus_BUFFER_LENGTH ];
int ret;
res[0] = '\0';
if (get_busmode(pn->selected_connection) == bus_usb) {
#if OW_USB
ret = DS9490_getstatus(buffer, 0, PN(owq));
if (ret < 0) {
sprintf(res, "DS9490_getstatus failed: %d\n", ret);
} else {
sprintf(res,
"%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n",
buffer[0], buffer[1], buffer[2], buffer[3],
buffer[4], buffer[5], buffer[6], buffer[7],
buffer[8], buffer[9], buffer[10], buffer[11], buffer[12], buffer[13], buffer[14], buffer[15]);
}
/*
uchar EnableFlags;
uchar OneWireSpeed;
uchar StrongPullUpDuration;
uchar ProgPulseDuration;
uchar PullDownSlewRate;
uchar Write1LowTime;
uchar DSOW0RecoveryTime;
uchar Reserved1;
uchar StatusFlags;
uchar CurrentCommCmd1;
uchar CurrentCommCmd2;
uchar CommBufferStatus; // Buffer for COMM commands
uchar WriteBufferStatus; // Buffer we write to
uchar ReadBufferStatus; // Buffer we read from
*/
#endif
}
return OWQ_format_output_offset_and_size_z(res, owq);
}
开发者ID:GrandHsu,项目名称:iicontrollibs,代码行数:39,代码来源:ow_interface.c
示例16: OWQ_create_separate
/* Use an aggregate OWQ as a template for a single element */
struct one_wire_query * OWQ_create_separate( int extension, struct one_wire_query * owq_aggregate )
{
int sz = sizeof( struct one_wire_query ) + OWQ_DEFAULT_READ_BUFFER_SIZE;
struct one_wire_query * owq_sep = owmalloc( sz );
LEVEL_DEBUG("%s with extension %d", PN(owq_aggregate)->path,extension);
if ( owq_sep== NO_ONE_WIRE_QUERY) {
LEVEL_DEBUG("No memory to create object for extension %d",extension) ;
return NO_ONE_WIRE_QUERY ;
}
memset(owq_sep, 0, sz);
OWQ_cleanup(owq_sep) = owq_cleanup_owq ;
memcpy( PN(owq_sep), PN(owq_aggregate), sizeof(struct parsedname) ) ;
PN(owq_sep)->extension = extension ;
OWQ_buffer(owq_sep) = (char *) (& owq_sep[1]) ; // point just beyond the one_wire_query struct
OWQ_size(owq_sep) = OWQ_DEFAULT_READ_BUFFER_SIZE ;
OWQ_offset(owq_sep) = 0 ;
return owq_sep ;
}
开发者ID:GrandHsu,项目名称:iicontrollibs,代码行数:23,代码来源:ow_parseobject.c
示例17: assert
//Compute intersection points of 3D sub NURBS of original B-rep.
//Parameter values of this at intersection points will be returned.
//This(RLBRep) will be projected to 3D plane of coordinate kind
//(coordinate, coordinate+1, coordinate+2), then intersection will
//be computed.
MGCParam_list MGRLBRep::isect_3D(
const MGPlane& pl, // Plane.
size_t coordinate // Coordinate kind of 3D sub space.
)const{
assert(coordinate<sdim());
MGVector C(3,pl.root_point(),0,coordinate);
MGVector PN(3,pl.normal(),0,coordinate); //Plane Normal.
MGVector N(4,PN);
N(3)=-(C%PN);
//N is 4D vector that is normal to C, pl.u_deriv() and pl.v_deriv().
return isect_nD(N,3,coordinate);
}
开发者ID:zephyrer,项目名称:mgcl,代码行数:18,代码来源:MGRLBRep2.cpp
示例18: FS_r_templimit
/* fake adapter temperature limits */
static ZERO_OR_ERROR FS_r_templimit(struct one_wire_query *owq)
{
struct parsedname *pn = PN(owq);
switch ( get_busmode(pn->selected_connection) ) {
case bus_fake:
case bus_mock:
case bus_tester:
OWQ_F(owq) = pn->selected_filetype->data.i ? pn->selected_connection->master.fake.templow : pn->selected_connection->master.fake.temphigh;
return 0;
default:
return -ENOTSUP ;
}
}
开发者ID:GrandHsu,项目名称:iicontrollibs,代码行数:14,代码来源:ow_interface.c
示例19: FS_r_flag
/* read flag */
static ZERO_OR_ERROR FS_r_flag(struct one_wire_query *owq)
{
struct parsedname *pn = PN(owq);
BYTE cr;
BYTE fl = pn->selected_filetype->data.c;
OWQ_allocate_struct_and_pointer(owq_flag);
OWQ_create_temporary(owq_flag, (char *) &cr, 1, 0x0201, pn);
if (COMMON_read_memory_F0(owq_flag, 0, 0)) {
return -EINVAL;
}
OWQ_Y(owq) = (cr & fl) ? 1 : 0;
return 0;
}
开发者ID:M-o-a-T,项目名称:owfs,代码行数:15,代码来源:ow_2404.c
示例20: COMMON_read_memory_F0
/* No CRC -- 0xF0 code */
GOOD_OR_BAD COMMON_read_memory_F0(struct one_wire_query *owq, size_t page, size_t pagesize)
{
off_t offset = OWQ_offset(owq) + page * pagesize;
BYTE p[3] = { _1W_READ_F0, LOW_HIGH_ADDRESS(offset), };
struct transaction_log t[] = {
TRXN_START,
TRXN_WRITE3(p),
TRXN_READ((BYTE *) OWQ_buffer(owq), OWQ_size(owq)),
TRXN_END,
};
Set_OWQ_length(owq);
return BUS_transaction(t, PN(owq));
}
开发者ID:M-o-a-T,项目名称:owfs,代码行数:15,代码来源:ow_memory.c
注:本文中的PN函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论