Skip to content
Snippets Groups Projects
Select Git revision
  • 605ff91efdeb3cd7e4948c0398c839a9ae06044a
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

virtpin.h

Blame
    • Paul Sokolovsky's avatar
      605ff91e
      extmod/machine_signal: Support all Pin's arguments to the constructor. · 605ff91e
      Paul Sokolovsky authored
      This implements the orginal idea is that Signal is a subclass of Pin, and
      thus can accept all the same argument as Pin, and additionally, "inverted"
      param. On the practical side, it allows to avoid many enclosed parenses for
      a typical declararion, e.g. for Zephyr:
      
      Signal(Pin(("GPIO_0", 1))).
      
      Of course, passing a Pin to Signal constructor is still supported and is the
      most generic form (e.g. Unix port will only support such form, as it doesn't
      have "builtin" Pins), what's introduces here is just practical readability
      optimization.
      
      "value" kwarg is treated as applying to a Signal (i.e. accounts for possible
      inversion).
      605ff91e
      History
      extmod/machine_signal: Support all Pin's arguments to the constructor.
      Paul Sokolovsky authored
      This implements the orginal idea is that Signal is a subclass of Pin, and
      thus can accept all the same argument as Pin, and additionally, "inverted"
      param. On the practical side, it allows to avoid many enclosed parenses for
      a typical declararion, e.g. for Zephyr:
      
      Signal(Pin(("GPIO_0", 1))).
      
      Of course, passing a Pin to Signal constructor is still supported and is the
      most generic form (e.g. Unix port will only support such form, as it doesn't
      have "builtin" Pins), what's introduces here is just practical readability
      optimization.
      
      "value" kwarg is treated as applying to a Signal (i.e. accounts for possible
      inversion).
    cdcacm.c 10.04 KiB
    /*******************************************************************************
     * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
     *
     * Permission is hereby granted, free of charge, to any person obtaining a
     * copy of this software and associated documentation files (the "Software"),
     * to deal in the Software without restriction, including without limitation
     * the rights to use, copy, modify, merge, publish, distribute, sublicense,
     * and/or sell copies of the Software, and to permit persons to whom the
     * Software is furnished to do so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included
     * in all copies or substantial portions of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
     * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     * OTHER DEALINGS IN THE SOFTWARE.
     *
     * Except as contained in this notice, the name of Maxim Integrated
     * Products, Inc. shall not be used except as stated in the Maxim Integrated
     * Products, Inc. Branding Policy.
     *
     * The mere transfer of this software does not imply any licenses
     * of trade secrets, proprietary technology, copyrights, patents,
     * trademarks, maskwork rights, or any other form of intellectual
     * property whatsoever. Maxim Integrated Products, Inc. retains all
     * ownership rights.
     *
     * $Id: main.c 32120 2017-11-28 23:51:11Z lorne.smith $
     *
     *******************************************************************************
     */
    
    /**
     * @file    main.c
     * @brief   USB CDC-ACM example
     * @details This project creates a virtual COM port, which loops back data sent to it.
     *          Load the project, connect a cable from the PC to the USB connector
     *          on the Evaluation Kit, and observe that the PC now recognizes a new COM port.
     *          A driver for the COM port, if needed, is located in the Driver/ subdirectory.
     *
     */
    
    #include <stdio.h>
    #include <stddef.h>
    #include "mxc_config.h"
    #include "mxc_sys.h"
    #include "mxc_delay.h"
    #include "board.h"
    #include "led.h"
    #include "usb.h"
    #include "usb_event.h"
    #include "enumerate.h"
    #include "cdc_acm.h"
    #include "descriptors.h"
    
    
    /***** Definitions *****/
    #define EVENT_ENUM_COMP     MAXUSB_NUM_EVENTS
    
    #define BUFFER_SIZE  64
    
    #define STRINGIFY(x) #x
    #define TOSTRING(x) STRINGIFY(x)
    
    /***** Global Data *****/
    volatile int configured;